我正在使用ajax验证我的表单,我只是检查用户名和密码是否正确。如果他们是正确的,我提交表格并转到欢迎页面,否则返回错误消息。如何在event.preventDefault()之后提交ajax .done()中的表单?
一切顺利,但表单无法提交。我希望表单在数据== 1时被提交,使用$(“#login”)。submit();但它不起作用。
我继续搜索,但我无法弄清楚问题所在。
任何帮助将不胜感激。
function check() {
$("#login").submit(function (event) {
event.preventDefault();
if($("#username").val()=="")
{
$("#usernamenull").html("username required <br />");
return false;
}
else if($("#password").val()=="")
{
$("#passwordnull").html("password required <br />");
return false;
}
var xhra=$.post("login.php",{username:$("#username").val(),password:$("#password").val()});
xhra.done(function (data) {
if (data==0) {
$("#message").html("username or password incorrect.<br />");
}
else if (data==1) {
$("#message").html("good.<br />");
$("#login").submit();//I want the form to be submited here,but doesn't work.
}
});
xhra.fail(function() {
alert("oops : "+xhra.status+" "+xhra.statusText+".\n");
});
})
};
<!DOCTYPE HTML>
<html>
<head>
<script src="jquery-3.0.0.js"></script>
<script src="test.js"></script>
</head>
<body>
<form name="login" id="login" action="welcome.php" method="post" >
username:
<br />
<input type="text" name="username" id="username">
<br />
<span id="usernamenull" style="color:red"></span>
<br />
password:
<br />
<input type="password" name="password" id="password" />
<br />
<span id="passwordnull" style="color:red"></span>
<br />
<br />
<input type="submit" name="mysubmit" id="mysubmit" value="login" onclick="check()" />
<br />
<br />
<span id="message"style="color:red"></span>
<br />
</form>
</body>
</html>
@Marcus H谢谢。我不是以英语为母语的人。我希望你们知道我在说什么。 – mulder