Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX]ajax zwraca zawsze false
neo1986kk
post 22.03.2010, 22:03:19
Post #1





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


  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

Ten post edytował neo1986kk 22.03.2010, 22:23:42
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
nospor
post 22.03.2010, 22:15:37
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




doczytaj na jakiej zasadzie dziala ajax to moze zrozumiesz smile.gif

podpowiedź: asynchronicznie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
neo1986kk
post 22.03.2010, 23:27:20
Post #3





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


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
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:06