var name, pass, ajax; function waliduj() { name = $(".name").val(); pass = $(".pass").val(); var reg = /^[a-zA-Z0-9 ]+$/; if (name.length > 0) { if (!reg.test(name)) { alert('Nazwa użytkownika zawiera niedozwolone znaki!'); return false; } }else{ alert('Podaj nazwę użytkownika!'); return false; } if (pass.length > 0) { if (!reg.test(pass)) { alert('Hasło zawiera niedozwolone znaki!'); return false; } }else{ alert('Podaj hasło!'); return false; } ajax = name; ajax = pass; return true; } function sendForm() { if (waliduj() == true) { ajax = $.ajax({ type: "POST", url: "form.php", data: ({name : this.name, password : this.pass}), dataType: "html", success: function (msg) { if (msg.indexOf('ok') >= 0) { $("#form").hide(); $("#response").text('Zostałeś pomyślnie zalogowany!'); }else{ $("#response").text('Niepoprawny login/hasło'); } } }); } } $(document).ready( function() { } );
z gory uprzedzam przyklad zaczerpniety z forum. Moje pytanie jest takie, jak zinterpretować dane wyslane przez ajaxa w pliku form.php ? i jak sie je zwraca.
Znalazłem coś innego, prostszego niestety nie działa. Wszystko wydaje się być poprawnie napisane.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="pl-PL"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf8" /> </head> <body> <form method="post" action="java script:checkLogin();"> <input type="text" id="login" name="login" /> <input type="submit" name="Submit" id="checkButton" value="Sprawdź dostępość" /> </form> </body> </html>
plik check_login.js
function checkLogin(){ var login = document.getElementById("login").value; var errorResult = document.getElementById("errorResult"); if(login==''){ errorResult.innerHTML = 'Błąd: Nie podano <b>Loginu</b>'; } var myAjax = new Ajax.Request( 'check_login.php', { method: 'post', parameters: "login="+login; onComplete: showResponse }); } function showResponse(text){ var errorResult = document.getElementById("errorResult"); registerResult.innerHTML = text.responseText; }
na tym bym się zatrzymał bo dalej kod nie jest wykonywany. Gdy wartość pola jest pusta powinien pokazać się błąd, że nic nie jest wpisane niestety tak się nie dzieje, dlaczego ? Mówiąc prościej funkcja checkLogin się nie wykonuje.