Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX]ajax zwraca zawsze false
Forum PHP.pl > Forum > Przedszkole
neo1986kk
  1. function checkAuth()
  2. {
  3. if (document.forms['wyslijf'].login.value == ''){
  4. document.getElementById('badlogin').innerHTML = 'Podaj login.';
  5. return false;
  6. }
  7.  
  8. var succeed = false;
  9. var xmlhttp;
  10. if (window.XMLHttpRequest){
  11. xmlhttp = new XMLHttpRequest();
  12. }
  13. else if (window.ActiveXObject){
  14. xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
  15. }
  16. else alert('AJAX Ci nie działa!');
  17.  
  18. xmlhttp.onreadystatechange = function()
  19. {
  20. document.getElementById('badlogin').innerHTML = '';
  21.  
  22. if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
  23. if (xmlhttp.responseText == '2'){
  24. document.getElementById('badlogin').innerHTML = '';
  25.  
  26. succeed=true;
  27.  
  28.  
  29. }
  30. else if (xmlhttp.responseText == '1'){
  31. document.getElementById('badlogin').innerHTML = 'Istnieje.';
  32.  
  33. }
  34.  
  35. else alert("n/:Nieobsługiwana informacja zwrotna:\n"+xmlhttp.responseText);
  36.  
  37.  
  38. }
  39. }
  40. var url = 'checkuserexists.php';
  41. var params = 'login='+document.forms['wyslijf'].login.value;
  42.  
  43. xmlhttp.open('POST',url);
  44. xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  45. xmlhttp.send(params);
  46. alert(succeed);
  47. return succeed;
  48.  
  49. }


specjalnie zrobilem alert succeed żeby zobaczyć co zwraca i za każdym razem zwraca false. dlaczego tak się dzieje i czy można cos z tym zrobić?
Pomóżcie

Edit: teraz przeczytałem, że ajax nie zatrzymuje sie na wyniku tylko leci dalej, troszke mnie to zaniepokoiło bo potrzebuje ten true do przycisku który sprawdza mi nie tylko login ale także hasła, email, płeć, ilość zaznaczonych opcji w różnych formularzach.

Wszystko inne jest sprawdzane w Javascript i za każdym razem zwracają odpowiednie błędy i true bądź fasle, a pod przyciskiem jest

  1. if (!wystepuja_bledy)
  2. formularz.submit();
  3.  
  4. else
  5. alert(bledy);


chcialbym tego ajaxa pod to no ale chyba nie da sięsad.gif
nospor
doczytaj na jakiej zasadzie dziala ajax to moze zrozumiesz smile.gif

podpowiedź: asynchronicznie
neo1986kk
pomyślałem i sobie sam problem rozwiązałem, może i prymitywnie ale ważne, że działa:P

dodałem ukryty input:P
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.