jQuery Ajax表单仅在单击两次后提交
我有一个表单,提交时检查账号是否有效(通过AJAX) 如果无效,则显示错误消息。这很好用 如果有效,则应提交表格。它提交,但仅在单击提交按钮两次后提交jQuery Ajax表单仅在单击两次后提交,jquery,ajax,form-submit,preventdefault,Jquery,Ajax,Form Submit,Preventdefault,我有一个表单,提交时检查账号是否有效(通过AJAX) 如果无效,则显示错误消息。这很好用 如果有效,则应提交表格。它提交,但仅在单击提交按钮两次后提交 $('#account_validation_form').on('submit', function(e){ e.preventDefault(); var payers_account = $("input[name='payers_account']").val(); $.post('ajax.php', {pay
$('#account_validation_form').on('submit', function(e){
e.preventDefault();
var payers_account = $("input[name='payers_account']").val();
$.post('ajax.php', {payers_account:payers_account}, function(data){
if(data === 'invalid'){
$(".account_invalid_message").html("<p>Given Account Number is invalid</p>");
}
else if(data === 'valid'){
$("#account_validation_form").unbind('submit').submit()
}
});
});
$(“#账户(验证)表格”)。在('submit',函数(e)上{
e、 预防默认值();
var payers_account=$(“输入[name='payers_account']”)val();
$.post('ajax.php',{payers\u account:payers\u account},函数(数据){
如果(数据=='无效'){
$(“.account\u invalid\u message”).html(“给定的帐号无效””;
}
else if(数据=='valid'){
$(“#账户(验证)表格”)。取消绑定('submit')。提交()
}
});
});
我知道在那里调用
e.preventDefault()
有问题。但这是必要的,不能放在AJAX回调中。那么解决这个问题的方法是什么呢?尝试绑定表单post以提交按钮单击事件:
即:
$('submit#button_id')。在('click',函数(e)上{
var payers_account=$(“输入[name='payers_account']”)val();
$.post('ajax.php',{payment\u amount:payment\u amount,payers\u account:payers\u account,},函数(数据){
如果(数据=='无效'){
$(“.account\u invalid\u message”).html(“给定的帐号无效””;
}
else if(数据=='valid'){
$(“#账户验证表”).submit();
}
});
});
尝试绑定表单post以提交按钮单击事件:
即:
$('submit#button_id')。在('click',函数(e)上{
var payers_account=$(“输入[name='payers_account']”)val();
$.post('ajax.php',{payment\u amount:payment\u amount,payers\u account:payers\u account,},函数(数据){
如果(数据=='无效'){
$(“.account\u invalid\u message”).html(“给定的帐号无效””;
}
else if(数据=='valid'){
$(“#账户验证表”).submit();
}
});
});
$(“#提交按钮_id”)。在('click',函数(e)
{
var payers_account=$(“输入[name='payers_account']”)val();
$.post('ajax.php',
{
付款金额:付款金额,
付款人账户:付款人账户,
},函数(数据)
{
如果(数据=='无效')
{
$(“.account\u invalid\u message”).html(“给定的帐号无效””;
}
else if(数据=='valid')
{
$(“#账户验证表”).submit();
}
});
});
使用此代码并对HTML进行一些更改
将提交按钮的type=“submit”更改为type=“button”$(“#submit_button_id”)。在('click',函数(e)
{
var payers_account=$(“输入[name='payers_account']”)val();
$.post('ajax.php',
{
付款金额:付款金额,
付款人账户:付款人账户,
},函数(数据)
{
如果(数据=='无效')
{
$(“.account\u invalid\u message”).html(“给定的帐号无效””;
}
else if(数据=='valid')
{
$(“#账户验证表”).submit();
}
});
});
使用此代码并对HTML进行一些更改
将提交按钮的type=“submit”更改为type=“button”您好,如果(数据=='valid')您单击并等待几秒钟以确保
$.post
已完成,您可以使用else而不是else?是的,我等待了一分钟多。first click中仍然不起作用。您好,如果(数据=='valid')您单击并等待几秒钟以确保$。post
已完成,则可以使用else而不是else。是的,我等待了一分钟多。在第一次单击中仍然不起作用。请尝试此操作。它不起作用。即使数据有效,它也不会提交表单。请尝试此操作。它不起作用。即使数据有效,它也不会提交表单。请查看我的问题。请查看我的问题
$('#submit_button_id').on('click', function(e){
var payers_account = $("input[name='payers_account']").val();
$.post('ajax.php', {payment_amount:payment_amount, payers_account:payers_account,}, function(data){
if(data === 'invalid'){
$(".account_invalid_message").html("<p>Given Account Number is invalid</p>");
}
else if(data === 'valid'){
$("#account_validation_form").submit();
}
});
});
$('#submit_button_id').on('click', function(e)
{
var payers_account = $("input[name='payers_account']").val();
$.post('ajax.php',
{
payment_amount: payment_amount,
payers_account: payers_account,
}, function(data)
{
if (data === 'invalid')
{
$(".account_invalid_message").html("<p>Given Account Number is invalid</p>");
}
else if (data === 'valid')
{
$("#account_validation_form").submit();
}
});
});