Первоначально у меня была форма, настроенная как таковая (стили CSS были удалены)
<form name="LoginForm" action="login.php" method="post">
<input name="email" id="email" type="text"></input>
<input name="password" id="password" type="password"></input>
<input name="login" id="login" type="submit" value="Login"></input>
</form>
, и она работала нормально, и login.php проверил бы учетные записи пользователей.Однако такой подход требовал перенаправления страницы.Я пытаюсь перенести код в AJAX, чтобы я мог запросить данные для входа и остаться на странице.[edit] вот объект AJAX, который я использую
function Ajax(){
this.xmlhttp=null; //code below will assign correct request object
if (window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari
this.xmlhttp=new XMLHttpRequest();
}
else{ // code for IE6, IE5
this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
this.stateChangeFunction=function(){}; //user must reimplement this
var that=this;
this.xmlhttp.onreadystatechange=function(){ //executes the appropriate code when the ready state and status are correct
if (this.readyState==4 && this.status==200){
that.stateChangeFunction();
}
else{
dump("Error");
}
}
}
, затем у меня есть функция login.js, которую я не очень уверен, как включить, в настоящее время я добавляю ее в событие onclick кнопки submit:
function login(email,password){
var ajax=new Ajax();
//ajax.xmlhttp.open("GET","login.php?LoginEmailField="+email+",LoginPasswordField="+password,true);
//ajax.xmlhttp.send();
}
Вы заметите, как эти две последние строки закомментированы, я не очень уверен, как посылать аргументы в данный момент, но дело в том, что даже с двумя закомментированными весь сайтвсе еще перезагружается.Как правильно использовать AJAX в формах.
Спасибо