Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sprawdzanie pól formularza
kubax33
post
Post #1





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

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


Witam,
mam sktypt, który gdzieś znalazłem na tym forum do sprawdzania pustych pól formularza.
Działa fajnie, ale chciałbym dodać do niego inne możliwości.

  1. <script type="text/javascript" language="JavaScript">
  2. var ClassName2 = "val"; //nazwa klasy elementów, które mają być poddane walidacji
  3. var FocusColor2 = "#FF3366"; //kolor podświetlenia niewypełnionego pola
  4.  
  5. function checkForm2(theFormm) {
  6. var error = false;
  7. var inputfields = document.getElementsByTagName("input");
  8. for(var x = 0 ; x < inputfields.length ; x++ ) {
  9. if(inputfields[x].getAttribute("class") == ClassName2) {
  10. if (inputfields[x].value.length == 0) {
  11. inputfields[x].style.background = FocusColor2;
  12. error = true;
  13. }
  14. else {
  15. inputfields[x].style.background = '';
  16. }
  17. }
  18. }
  19. if(error == true) {
  20. alert("Wypełnić podświetlone pola!");
  21. return false;
  22. }
  23. }
  24.  
  25. </script>

  1. <FORM action="przeslij.php" method="post" name=formularzedycja onsubmit="return checkForm2(this)">
  2. <INPUT type="text" style="width: 147px;" name="imie" class="val">
  3. <INPUT type="text" style="width: 147px;" name="nazwisko" class="val">
  4. <INPUT type="text" style="width: 147px;" name="kwota" class="val">
  5. </form>


Mianowicie np. chciałbym, aby skrypt dodatkowo sprawdzał czy dane pole zawiera liczbę i nie ma innych znaków niepożądanych i mam coś takiego po połączeniu dwóch skryptów:

  1. <script type="text/javascript" language="JavaScript">
  2. var ClassName2 = "val2"; //nazwa klasy elementów, które mają być poddane walidacji
  3. var FocusColor2 = "#FF3366"; //kolor podświetlenia niewypełnionego pola
  4.  
  5. function checkForm2(theFormm) {
  6. var error = false;
  7. var inputfields = document.getElementsByTagName("input");
  8. for(var x = 0 ; x < inputfields.length ; x++ ) {
  9. if(inputfields[x].getAttribute("class") == ClassName2) {
  10. if (inputfields[x].value.length == 0) {
  11. inputfields[x].style.background = FocusColor2;
  12. error = true;
  13. }
  14. else {
  15. inputfields[x].style.background = '';
  16. }
  17. }
  18. }
  19. if(error == true) {
  20. alert("Aby dokonać edycji klienta musisz wypełnić podświetlone pola!");
  21. return false;
  22. }
  23.  
  24. var reg = /^-?\d+(([,\.]?\d+)|())$/;
  25. if(reg.test(document.forms['formularzedycja'].kwota.value)) {
  26. return true;
  27.  
  28. } else {
  29. alert("Wpisano zły format kwoty!\nPrawidłowy format to np. 9.99");
  30. return false;
  31. }
  32.  
  33.  
  34. }
  35. </script>


  1. <FORM action="przeslij.php" method="post" name=formularzedycja onsubmit="return checkForm2(this)">
  2. <INPUT type="text" style="width: 147px;" name="imie" class="val">
  3. <INPUT type="text" style="width: 147px;" name="nazwisko" class="val">
  4. <INPUT type="text" style="width: 147px;" name="kwota" class="val">
  5. </form>


Moja wersja działa poprawnie jednak nie tak jakbym chciał. Tzn. nie jest ona połączona ze skryptem do sprawdzania pustych pól formularza... Chciałbym, aby sprawdzanie kwoty był wykonane i również podświetliło pole, które jest źle wypełnione a teraz po wpisaniu złych danych w input wyskakuje tylko sam alert bez podświetlenia pola.
Chyba musiałoby być to w tej samej pętli co sprawdzanie pól formularza. Jak dodawać kolejne akcje do sprawdzania określonych pól formularza za jednym zamachem w spoób poprawny. Robiłem to metodą prób i błędów więc udało mi się zrobić tak jak teraz to funkcjonuje.

Ten post edytował kubax33 15.09.2013, 14:10:00
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 21.08.2025 - 22:42