Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][JavaScript]Zmienne zewnętrzne w Jquery
Forum PHP.pl > Forum > Przedszkole
northwest
Witam serdecznie,
mam taki kod:
  1. var tekst = '';
  2. var random = Math.round(Math.random() * 99999);
  3. $.post("sprawdzlogin.php", {name: $(form).find('input[name="login"]').val(), city: random}, function(data) {
  4. var obj = jQuery.parseJSON(data);
  5. tekst = tekst + obj.two;
  6. return true;
  7. })
  8. alert(tekst);


chciałbym żeby skrypt pobrał wartość z inputa "login", wysłał ją POSTem do skryptu sprawdzlogin.php i jeśli jest zajęty,
to żeby pobrał wartość z pliku i ja wyświetlił w alercie.... problem w tym że skrypt zawsze zwraca wartość pustą.... jakby zmienna z jquery
nie wychodziła do alerta sad.gif

Macie może pomysł jak to poprawić?


Z góry dziękuję za pomoc,
Northwest
Pawel_W
$.post działa asynchronicznie, tzn. wykonuje się w tle a skrypt leci dalej, czyli:

1. inicjalizowany jest $.post
2. alertowana jest zmienna tekst (pusta)
3. $.post zwraca wynik, tekst jest zmieniony


musisz wrzucić alert zaraz za tekst = tekst + obj.two wink.gif
northwest
tak, i wtedy alert działa.... smile.gif
z tym że to co wkleiłem, to jest kawałek kodu - i potrzebuję właśnie to co wyciągnąłem dodać do innego jquery.... smile.gif


da się to jakoś wyciągnąć i "wystawić"? smile.gif
Pawel_W
pokaż resztę bo na razie to jest czytanie z fusów smile.gif
northwest
  1. function sprawdz1(form)
  2. {
  3. var tekst = '';
  4. if ($(form).find('input[name="email"]').val() == "") {
  5. tekst = tekst + "- email<br/>";
  6. }
  7. if ($(form).find('input[name="pass"]').val() == "") {
  8. tekst = tekst + "- hasło <br/>";
  9. }
  10. if ($(form).find('input[name="pass2"]').val() == "") {
  11. tekst = tekst + "- powtórne hasło <br/>";
  12. }
  13. if ($(form).find('textarea[name="login"]').val() == "") {
  14. tekst = tekst + "- login <br/>";
  15. }
  16. if ($(form).find('input[name="pass"]').val() != $(form).find('input[name="pass2"]').val()) {
  17. tekst = tekst + "- pole hasło różni się od pola z powtórzonym hasłem <br/>";
  18. }
  19. if ($(form).find('input[name="email"]').val() != "") {
  20. if (email_validate($(form).find('input[name="email"]').val()) == false) {
  21. tekst += "- błędny format adresu email <br/>"
  22. brakDanych = true;
  23. }
  24. }
  25. var random = Math.round(Math.random() * 99999);
  26. $.post("sprawdzlogin.php", {name: $(form).find('input[name="email"]').val(), city: random}, function(data) {
  27. var obj = jQuery.parseJSON(data);
  28. tekst = tekst + obj.two;
  29. return true;
  30. })
  31. alert(tekst);
  32. if (tekst != "") {
  33. alert ("Proszę uzupełnić następujące pola:\n"+tekst);
  34. return false;
  35. } else {
  36. $(form).submit();
  37. }
  38. return false;
  39. }
Pawel_W
no i dlaczego po prostu nie wrzucisz tego
  1. alert(tekst);
  2. if (tekst != "") {
  3. alert ("Proszę uzupełnić następujące pola:\n"+tekst);
  4. return false;
  5. } else {
  6. $(form).submit();
  7. }

przed return true do $.post?
northwest
jak to tam wrzucę, to nie bedzie działało tak jak powinno, będą mogły być 2 alerty (jeśli powiele kod) - a jeśli go tam przeniosę, to znowu powyższych ifów nie uwzględni sad.gif
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.