Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] walidacja - skrypt działający inaczej niż powinien
Forum PHP.pl > Forum > Przedszkole
agataperz
Witam,

ma sobie taki skrypt
[JAVASCRIPT] pobierz, plaintext
  1. function validate(form) {
  2. var zam_imie = document.forms ['formularz'].zam_imie.value;
  3. var zam_nazwisko = document.forms ['formularz'].zam_nazwisko.value;
  4. var zam_firma = document.forms ['formularz'].zam_firma.value;
  5. var zam_adres = document.forms ['formularz'].zam_adres.value;
  6. var zam_kod_poczt = document.forms ['formularz'].zam_kod_poczt.value;
  7. var zam_miejscowosc = document.forms ['formularz'].zam_miejscowosc.value;
  8. var zam_tel = document.forms ['formularz'].zam_tel.value;
  9. var zam_mail = document.forms ['formularz'].zam_mail.value;
  10. var zam_login = document.forms ['formularz'].zam_login.value;
  11. var zam_haslo = document.forms ['formularz'].zam_haslo.value;
  12. var noerror = true;
  13. if(!checkRadio('platnosc') || !checkRadio('kurier') || !checkRadio('rejestracja')) {
  14. noerror = false; }
  15.  
  16. if (zam_login == "" && zam_haslo == "") {
  17. if (zam_imie == "") {
  18. document.forms['formularz'].zam_imie.style.border = "2px solid#FF0000";
  19. noerror = false;
  20. }
  21. if (zam_nazwisko == "") {
  22. document.forms['formularz'].zam_nazwisko.style.border = "2px solid#FF0000";
  23. noerror = false;
  24. }
  25. if (zam_adres == "") {
  26. document.forms['formularz'].zam_adres.style.border = "2px solid#FF0000";
  27. noerror = false;
  28. }
  29. if (zam_kod_poczt == "") {
  30. document.forms['formularz'].zam_kod_poczt.style.border = "2px solid#FF0000";
  31. noerror = false;
  32. }
  33. if (zam_miejscowosc == "") {
  34. document.forms['formularz'].zam_miejscowosc.style.border = "2px solid#FF0000";
  35. noerror = false;
  36. }
  37. if (zam_tel == "") {
  38. document.forms['formularz'].zam_tel.style.border = "2px solid#FF0000";
  39. noerror = false;
  40. }
  41. if (zam_mail == "") {
  42. document.forms['formularz'].zam_mail.style.border = "2px solid#FF0000";
  43. noerror = false;
  44. }
  45. } else {
  46. if (zam_login == "") {
  47. document.forms['formularz'].zam_haslo.style.border = "2px solid#FF0000";
  48. noerror = false;
  49. }
  50. if (zam_haslo == "") {
  51. document.forms['formularz'].zam_haslo.style.border = "2px solid#FF0000";
  52. noerror = false;
  53. }
  54. }
  55.  
  56.  
  57. if(noerror) {
  58. document.formularz.submit();
  59. }
  60. }
[JAVASCRIPT] pobierz, plaintext


niestety ale style.border nie chce działać mi pod IE a co za tym idzie przepuszcza przez submit.
Czy jest jakies rozwiazanie tego problemu?
Daiquiri
Proszę zapoznać się z tematem: Temat: Jak poprawnie zatytulowac watek
Rid
Ja bym radził także zapoznać się z poleceniem document.getElementById()
agataperz
zrobiłam tak:
[JAVASCRIPT] pobierz, plaintext
  1.  
  2. function validate(form) {
  3. var zam_imie = document.getElementById("zam_imie").value;
  4. var zam_nazwisko = document.getElementById("zam_nazwisko").value;
  5. var zam_firma = document.getElementById("zam_firma").value;
  6. var zam_adres = document.getElementById("zam_adres").value;
  7. var zam_kod_poczt = document.getElementById("zam_kod_poczt").value;
  8. var zam_miejscowosc = document.getElementById("zam_miejscowosc").value;
  9. var zam_tel = document.getElementById("zam_tel").value;
  10. var zam_mail = document.getElementById("zam_mail").value;
  11. var zam_login = document.getElementById("zam_login").value;
  12. var zam_haslo = document.getElementById("zam_haslo").value;
  13. var noerror = true;
  14. if(!checkRadio('platnosc') || !checkRadio('kurier') || !checkRadio('rejestracja')) {
  15. noerror = false; }
  16.  
  17. if (zam_login == "" && zam_haslo == "") {
  18. if (zam_imie == "") {
  19. document.getElementById("zam_imie").style.border = "2px solid#FF0000";
  20. noerror = false;
  21. }
  22. if (zam_nazwisko == "") {
  23. document.getElementById("zam_nazwisko").style.border = "2px solid#FF0000";
  24. noerror = false;
  25. }
  26. if (zam_adres == "") {
  27. document.getElementById("zam_adres").style.border = "2px solid#FF0000";
  28. noerror = false;
  29. }
  30. if (zam_kod_poczt == "") {
  31. document.getElementById("zam_kod_poczt").style.border = "2px solid#FF0000";
  32. noerror = false;
  33. }
  34. if (zam_miejscowosc == "") {
  35. document.getElementById("zam_miejscowosc").style.border = "2px solid#FF0000";
  36. noerror = false;
  37. }
  38. if (zam_tel == "") {
  39. document.getElementById("zam_tel").style.border = "2px solid#FF0000";
  40. noerror = false;
  41. }
  42. if (zam_mail == "") {
  43. document.getElementById("zam_mail").style.border = "2px solid#FF0000";
  44. noerror = false;
  45. }
  46. } else {
  47. if (zam_login == "") {
  48. document.getElementById("zam_haslo").style.border = "2px solid#FF0000";
  49. noerror = false;
  50. }
  51. if (zam_haslo == "") {
  52. document.getElementById("zam_haslo").style.border = "2px solid#FF0000";
  53. noerror = false;
  54. }
  55. }
  56.  
  57.  
  58. if(noerror) {
  59. document.formularz.submit();
  60. }
  61. }
  62.  
  63. </script>
[JAVASCRIPT] pobierz, plaintext


i teraz już wogole nie chce działać sad.gif
CuteOne
Zacznijmy od tego, że to Twój kolejny temat z serii "nie radzę sobie z tą samą walidacją w JS", więc może powinnaś rozważyć zapłacenie komuś bardziej obeznanemu w temacie za napisanie takiej pierdółki?. No chyba, że chcesz się nauczyć JS ale wtedy powiem krótko - nie tędy droga... poczytaj parę poradników o tym jak poprawnie pisać skrypty w JS, jak sprawdzać warunki(nawet głupim alertem) i debugować zmienne. I dopiero po kilku dniowym seansie z tutorialami przyjdź i pytaj...

ps. zacznij od różnicy pomiędzy == a != w linii 17....
potreb
Tutaj kurs: http://doman.art.pl/kursjs/

Naprawdę wystarczy poczytać kilka wątków i będziesz wiedziała że to proste.
agataperz
@CuteOne - nie sztuka dać komuś $$ za wykonanie 'dzieła' sztuką jest wykonanie tego przez samą siebie.
@potreb - dzieki za link - to jest chyba najprostszy kurs jaki przeczytałam w sieci - pozostałe kursy jakie czytałam to troszkę napisane językiem fachowców po politechnice.

Mam nadzieje że w końcu pokonam tą walidacje smile.gif
Ociu
Ja proponuje w aby zacząć używać odpowiednich znaczników bbCode. HTML jest do HTML, a javascript do javascript.
agataperz
Wiecie co chłopacy....
jedyny błąd jaki powodował że skrypt pod IE wariował to źle napisana zmienna:
  1. document.forms['formularz'].zam_imie.style.border = "2px solid#FF0000";

a powinno być:
  1. document.forms['formularz'].zam_imie.style.border = "2px solid #FF0000";

Wystarczyło że brakowało spacji i IE sobie nie radził a Mozilla akceptowała.
...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.