Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][JavaScript]Niedziałająca walidacja w formularzu
tejek
post
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 12.11.2005

Ostrzeżenie: (0%)
-----


wykonałem formularz w HTML i chciałbym do niego dodać walidację wypełnienia pól formularza oto cały kod:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  4. <title>Formularz wysylki zdjec - m2Art</title>
  5. <link href="style.css" rel="stylesheet" type="text/css" media="all" />
  6. </head>
  7. <script language="javascript" type="text/javascript">
  8. clearForm(AForm);
  9. function validateForm(AForm)
  10. {
  11. //1. NICK ALLEGROWICZA
  12. reg1 = /^[a-zA-Z0-9aąęśćżźńłóĄĘŚĆŻŹŃŁÓ@_-.]{2,30}$/;
  13. wyn = AForm.nick.value.match(reg1);
  14. if (wyn == null) {
  15. alert("Prosze podac poprawne NICK ALLEGROWICZA. " +
  16. "NICK musi zawierac od 2 do 30 liter. " +
  17. "Zadne znaki poza literami nie sa dozwolone.");
  18. return false;
  19. }
  20. reg2 = /^[a-zA-Z0-9@._-.]{1,30}$/;
  21. wyn = AForm.email.value.match(reg2);
  22. if (wyn == null) {
  23. alert("Prosze podac poprawny adres e-mail. " +
  24. "Wprowadz e-mail jak w szablonie 'tresc@domen.pl'. " +
  25. "Wszystkie standardowe znaki sa dozwolone.");
  26. return false;
  27. }
  28. if (!(AForm.plakat.selectedIndex > 0 && AForm.plakat.selectedIndex <= 4)) {
  29. alert("Proszę wybrać województwo.");
  30. return false;
  31. };
  32.  
  33. AForm.elements['blad'].value = "Wysylanie zdjec. Prosze czekac...";
  34. return true;
  35. }
  36. function clearForm(AForm)
  37. {
  38. for (i = 0; i < AForm.elements.length; i++) {
  39. if (AForm.elements[i].type == "radio") {
  40. AForm.elements[i].checked = false;
  41. } else if (AForm.elements[i].type == "checkbox") {
  42. AForm.elements[i].checked = false;
  43. } else if (AForm.elements[i].type == "text") {
  44. AForm.elements[i].value = '';
  45. } else if (AForm.elements[i].type == "textarea") {
  46. AForm.elements[i].value = '';
  47. } else if (AForm.elements[i].type == "select-one") {
  48. AForm.elements[i].selectedIndex = 0;
  49. } else if (AForm.elements[i].type == "select-multiple") {
  50. AForm.elements[i].selectedIndex = -1;
  51. }
  52. }
  53. return true;
  54. }
  55. <form class="normal" action="uparray3.php" method="post" enctype="multipart/form-data">
  56. <tr>
  57. <td> Nick allegrowicza:
  58. <input class="formularz" type="text" name="nick"/>
  59. </td>
  60. </tr>
  61. <tr>
  62. <td> Email:
  63. <input class="formularz" type="text" name="email"/>
  64. </td>
  65. </tr>
  66. <tr>
  67. <td>Zakupiny plakat:
  68. <select class="formularz" name="plakat">
  69. <option onclick="this.form.elements['maxzd'].value = '';" value="----">----</option>
  70. <option onclick="this.form.elements['maxzd'].value = 'Maksymalnie 10 zdjec';" value="10">Dzungla</option>
  71. <option onclick="this.form.elements['maxzd'].value = 'Maksymalnie 24 zdjec';" value="24">Latorosl</option>
  72. <option onclick="this.form.elements['maxzd'].value = 'Maksymalnie 8 zdjec';" value="8">Ocean</option>
  73. <option onclick="this.form.elements['maxzd'].value = 'Maksymalnie 9 zdjec';" value="9">Balony</option>
  74. </select>
  75. </td>
  76. </tr>
  77. <tr>
  78. <td>
  79. <input class="blad" type="text" name="maxzd" readonly="readonly" />
  80. </td>
  81. </tr>
  82. <tr>
  83. <td><input type="hidden" name="MAX_FILE_SIZE" value="300000" />
  84. Wyslij nam zdjecia które chcesz umiescic na plakacie:
  85. </td>
  86. </tr>
  87. <tr>
  88. <td>
  89. Zdjecie nr 1:<br />
  90. <input type="file" name="pictures[]" width="250px" size="40" accept="image/jpeg,image/gif,image/tiff,image/png"/>
  91. </td>
  92. <td>
  93. Dodaj tekst pod zdjeciem:
  94. <input class="formularz" type="checkbox" name="checktekst[]" value="wartosc" onclick="this.form.elements['tekst0'].disabled = !this.checked"/>
  95. <input class="formularz" type="text" name="tekst0" size="40" disabled="disabled" />
  96. </td>
  97. </tr>
  98. <tr>
  99. <td>
  100. Zdjecie nr 2:<br />
  101. <input type="file" name="pictures[]" width="250px" size="40" accept="image/jpeg,image/gif,image/tiff,image/png"/>
  102. </td>
  103. <td>
  104. Dodaj tekst pod zdjeciem:
  105. <input class="formularz" type="checkbox" name="checktekst[]" value="wartosc" onclick="this.form.elements['tekst1'].disabled = !this.checked" />
  106. <input class="formularz" type="text" name="tekst1" size="40" disabled="disabled" />
  107. </td>
  108. </tr>
  109. <tr>
  110. <td>
  111. Zdjecie nr 3:<br />
  112. <input type="file" name="pictures[]" width="250px" size="40" accept="image/jpeg,image/gif,image/tiff,image/png"/>
  113. </td>
  114. <td>
  115. Dodaj tekst pod zdjeciem:
  116. <input class="formularz" type="checkbox" name="checktekst[]" value="wartosc" onclick="this.form.elements['tekst2'].disabled = !this.checked" />
  117. <input class="formularz" type="text" name="tekst2" size="40" disabled="disabled" />
  118. </td>
  119. </tr>
  120. <tr>
  121. <td>
  122. <input type="image" src="bt_wyslij.jpg" value="wyslij" name="wyslij" onclick="return validateForm(this.form);"/>
  123. <input type="image" src="bt_wyczysc.jpg" value="kasuj" name="kasuj" onclick="return clearForm(this.form);"/>
  124. </td>
  125. </tr>
  126. </table>
  127. <input class="blad" type="text" name="blad" size="50" readonly="readonly" />
  128. </form>
  129. </body>
  130. </html>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SirZooro
post
Post #2





Grupa: Zarejestrowani
Postów: 243
Pomógł: 32
Dołączył: 14.06.2007

Ostrzeżenie: (0%)
-----


Sprawdziłem to dokładniej - masz błąd w wyrażeniach regularnych. Problemem jest minus w nawiasach kwadratowych który służy tam do definiowana zakresów znaków. Wstaw przed nim backslasha lub przenieś go na koniec aby za nim był już tylko nawias zamykający.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 14:03