Generalnie przechodzą i są sprawdzane poprawnie. Problem polega na tym, że nie wiem jak dane przychodzące sprawdzić i coś na tej bazie zrobić.
fragment kodu o który mi chodzi wygląda następująco:
function validateEmail() { var text = email.val(); var flag = ""; if(email.val().length<5) { alert("za krotki mail"); return false; } var request = $.ajax({ type:"POST", url:"test2.php", data:"opcja=email&wartosc="+text, success:function(data){ if(data=="true") { flag="correct"; alert("1."+flag); } }, error:function(XMLHttpRequest, textStatus, errorThrown) { alert("Wystapił bład"); } }); request.fail(function(){alert("Wystąpił błąd");}); if(flag=="correct") alert("ok"); else alert("2."+flag); }
Jak dla mnie wszystko działa tzn. wysyłam dane do pliku test2.php a następnie dzięki funkcji przy atrybucie sukces odbieram dane i jeśli jest true to ustawiam flagę. Potem, jeśli flaga jest correct to kończę funkcję z wynikiem true.
Rzeczywistość jest jednak inna - gdy wykonuję skrypt to zawsze najpierw wywołany zostaje alert z nr 2 a dopiero potem z nr 1 czyli tak jakby kod był wykonywany od dołu i dlatego nigdy flag nie jest przypisany.
Tutaj jest cała strona na której to testuje:
http://sebastianperyt.pl/javascript/testJQ.html
Będę wdzięczny za podpowiedzi.