Javascript 在表单提交之前发出ajax请求,在ajax完成后提交数据
我的页面上有一个带有提交按钮的表单。当用户单击按钮时,我希望发出一个ajax请求,如果该请求返回正确的结果,则继续提交表单 但是这有点棘手,因为表单是在ajax得到响应之前提交的,它也不关心响应是什么。如何创建这样的功能 我尝试将submit按钮设置为disabled,但是click事件根本没有注册Javascript 在表单提交之前发出ajax请求,在ajax完成后提交数据,javascript,jquery,html,ajax,forms,Javascript,Jquery,Html,Ajax,Forms,我的页面上有一个带有提交按钮的表单。当用户单击按钮时,我希望发出一个ajax请求,如果该请求返回正确的结果,则继续提交表单 但是这有点棘手,因为表单是在ajax得到响应之前提交的,它也不关心响应是什么。如何创建这样的功能 我尝试将submit按钮设置为disabled,但是click事件根本没有注册 $(".submit-button").click(function() { $.post( "exists.php",{ email: email}, function( data ) {
$(".submit-button").click(function() {
$.post( "exists.php",{ email: email}, function( data ) {
if (data=="wrong result") {
// display error the the user
} else {
//proceed with submitting form
}
});
}
<form action="register" method="post">
<fieldset class="c-fieldset">
<label class="input-data"> Email: <input type="email" name="email-address" required > </label>
</fieldset>
<input type="submit" class="submit-button" value="Submit">
</form>
您可以在else块中提交表单
$(".submit-button").click(function(e) {
// prevent the default behavior of the form
e.preventDefault();
$.post("exists.php", {
email: email
}, function(data) {
if (data == "wrong result") {
// display error the the user
}
} else {
$("#myForm").submit();
}
}
}
<form action="register" method="post" id = 'myForm'>
// Added id to form
// rest of the code
</form>
您可以在else块中提交表单
$(".submit-button").click(function(e) {
// prevent the default behavior of the form
e.preventDefault();
$.post("exists.php", {
email: email
}, function(data) {
if (data == "wrong result") {
// display error the the user
}
} else {
$("#myForm").submit();
}
}
}
<form action="register" method="post" id = 'myForm'>
// Added id to form
// rest of the code
</form>
使用e.preventDefault可防止自动提交,检查结果是否成功,并使用form.submit功能。我已经在表单中添加了一个id
$.submit-button.onclick,function e{
e、 preventDefault;//禁止在此提交表单
var email=$[name='email-address'].val;
$.postexists.php{
电邮:电邮
},函数数据{
如果数据==错误的结果{
//显示用户的错误信息
}否则{
//继续提交表格
$myForm.submit;
}
};
};
电邮:
使用e.preventDefault可防止自动提交,检查结果是否成功,并使用form.submit功能。我已经在表单中添加了一个id
$.submit-button.onclick,function e{
e、 preventDefault;//禁止在此提交表单
var email=$[name='email-address'].val;
$.postexists.php{
电邮:电邮
},函数数据{
如果数据==错误的结果{
//显示用户的错误信息
}否则{
//继续提交表格
$myForm.submit;
}
};
};
电邮:
$myForm.submit;-这不就是再次调用$myForm.onsubmit吗?或者jQuery是否足够聪明以确定差异?它似乎足够聪明$myForm.submit;-这不就是再次调用$myForm.onsubmit吗?或者jQuery是否足够聪明来确定差异?它似乎足够聪明