Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]walidacja formularza + jquery i $.get()
Forum PHP.pl > Forum > Przedszkole
Large
Witam,
walidację formularza prawie ukończyłem. Problemem jest pole email przy rejestracji konta i sprawdzenie czy jest już on przypisany do konkretnego konta. W tym celu używam funkcji $.get() (http://api.jquery.com/jQuery.get/)

Na początku sprawdzam długości pól, formaty danych i jest ok. Na sam koniec sprawdzam czy email jest wolny i tu są kwiatki - formularz się wysyła mimo zajętego maila.

w skrócie wygląda u mnie to tak

  1. function formularz()
  2. {
  3. go = true;
  4.  
  5. if($("#imie").val().length < 2 || $("#imie").val() == "Wpisz swoje imię")
  6. {
  7. msg += "Wpisz imię\n";
  8. go = false;
  9. }
  10.  
  11. var email = $("#email").val();
  12.  
  13. $.get("walidacja.php", { email: email },
  14. function(data)
  15. {
  16. if(data == "OK")
  17. {
  18. go = true;
  19. } else {
  20. go = false;
  21. }});
  22.  
  23. return go;
  24. }
  25.  


Napisałem na szybko jak mniej więcej tworzę walidację i prosiłbym o sposób aby formularz nie wysyłał się przed sprawdzeniem czy email jest wolny czy zajęty

buttonowi submit oczywiście dodałem zdarzenie onclick="return formularz()"

Dziękuję za linki i pomoc.
bllleee
A nie lepiej skorzystać jquery validator. Tam jest to wszystko już zrobione.

  1. $j(function(){
  2. $j("#regf").validate({
  3. debug: true,
  4. submitHandler: function(rf){
  5. var data = $j(rf).serialize();
  6. $j.post("wysylanie_formularza.php",data,function(m){
  7. //coś do wykonania po rejestracji
  8. })
  9. },
  10. rules: {
  11. 'rlogin': {
  12. required: true,
  13. minlength: 6,
  14. maxlength: 25,
  15. remote: {url: "sprawdz_login.php",type: 'post'}
  16. },
  17. 'rmail': {
  18. required: true,
  19. email: true,
  20. remote: {url: "sprawdz_mail.php",type: 'post'}
  21. }
  22.  
  23. },
  24. messages: {
  25. 'rlogin':{
  26. required: '<br />Login jest wymagany do rejestracji',
  27. minlength: '<br />Login musi mieć min. 6 znaków',
  28. maxlength: '<br />Login może mieć max. 25 znaków',
  29. remote: '<br />Konto o podanym loginie już istnieje'
  30. },
  31. 'rmail':{
  32. required: '<br />Mail jest wymagany do rejestracji',
  33. email: '<br />Nieprawidłowa postać adresu mail',
  34. remote: '<br />Utworzono już konto na podany adres mail'
  35. }
  36. }
  37. });
  38. });


W skrócie tak by to wyglądało. Skoro używasz już jQuery to validator waży tylko parę kilo. A naprawdę upraszcza życie.
kadlub
kolega wyżej ma racje ja używam jquery do walidacji po stronie przeglądarki i jest bardzo prosta w obsłudze
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.