Założenie 1: Jeśli wybraliśmy NIE w radio, nic się nie dzieje
Założenie 2: Jeśli wybieramy odpowiedź TAK w radio, pojawia się pole txt. To działa poprawnie
Założenie 3: Jeśli odpowiedź w radio brzmiała tak, to pole txt nie może być puste.

skrypt:

  1. <script TYPE="text/javascript" LANGUAGE="JavaScript">
  2. function checkHard() {
  3. var HardOpis = formularzHard.opis.value;
  4. var SATR = formularzHard.SATR.value;
  5. var SAT = formularzHard.SAT.value;
  6.  
  7. if (SAT == "" && SATR == "tak")
  8. alert('Jeśli nr SAT jest czytelny - wprowadź go!');
  9.  
  10. else
  11.  
  12. if (HardOpis == '')
  13. alert('Nie wprowadzono opisu problemu!');
  14.  
  15.  
  16. else
  17. document.formularzHard.submit();
  18. }
  19.  


Formularz:

  1. <?php
  2. echo "<b>Sprzęt</b><br><br>";
  3. echo "<form action='index.php?a=addSprzet' method='POST' name='formularzHard' enctype='multipart/form-data' >";
  4. echo "<table>";
  5. echo "<tr><td>";
  6. echo "<input type='hidden' name='mail' value='".$_SESSION['zalogowanyHD']."'>";
  7. echo "<input type='hidden' name='login' value='".$_SESSION['zalogowanyLogin']."'>";
  8. echo "<input type='hidden' name='cn' value='".$_SESSION['zalogowanyKonto']."'>";
  9.  
  10. echo "Rodzaj urządzenia:</td>";
  11. echo "<td><select name='sprzet_rodzaj'>";
  12. <!-- option`y -->
  13. echo "</select>";
  14. echo "</td></tr>";
  15.  
  16. echo "<tr><td>Sytuacja:</td>";
  17. echo "<td><select name='sprzet_sytuacja'>";
  18. <!-- option`y -->
  19. echo "</select>";
  20. echo "</td></tr>";
  21.  
  22. echo "<tr><td>Priorytet zgłoszenia:</td>";
  23. echo" <td><select name='priorytet'>";
  24. echo "<option value='krytyczny'>krytyczny</option>";
  25. echo "<option value='wysoki'>wysoki</option>";
  26. echo "<option value='niski' selected >niski</option>";
  27. echo "</select>";
  28. echo "</td></tr>";
  29.  
  30. echo "<tr><td>Nr SAT urządzenia:</td>";
  31. echo "<td>Czy numer SAT jest czytelny? <br /><br />
  32.  
  33. <input type=\"radio\" name=\"SATR\" value=\"nie\" checked onclick=\"document.getElementById('SAT').style.visibility = this.checked ? 'hidden' : 'visible'\"> Nie, nie jest czytelny<br /><br />
  34.  
  35. <input type=\"radio\" name=\"SATR\" value=\"tak\" onclick=\"document.getElementById('SAT').style.visibility = this.checked ? 'visible' : 'hidden'\"> Tak, jest czytelny (podaj niżej nr SAT!)<br /><br />
  36.  
  37. <input type=\"text\" name=\"SAT\" id=\"SAT\" style=\"visibility:hidden\"><br /><br />
  38.  
  39. Nr SAT znajdziesz na naklejce:<br /><br /><img src=\"img/naklejka.png\" /></td></tr>";
  40.  
  41. echo "<tr><td>Możliwie najdokładniej opisz problem</td><td><textarea name='opis' cols='80' rows='15'></textarea></td></tr>";
  42.  
  43. echo "<tr><td>Opcjonalny załącznik:</td><td><input type=\"file\" name=\"zal1\" /></td></tr>";
  44.  
  45. echo "<tr><td colspan=2><input type='button' value='zarejestruj' onClick=\"checkHard()\"></td></tr>";
  46. echo "</table>";
  47. echo "</form>";
  48. ?>


Problem: o ile zawartość textarea (opis) jest bardzo dobrze sprawdzana i brak wpisu w tym polu powoduje wyrzucenie alerta, tak nie mogę uruchomić sprawdzenia pola text (SAT).

Gdzie może tkwić błąd?


[edit]
W kolejnym kroku dojdzie włączenie validacji zawartości pola SAT - będą tam mogły wejść jedynie INT. Jakieś sugestie? W planie jest tmtcore.