Php 意外多个表单输入的解决方案
我有jquery/ajax:Php 意外多个表单输入的解决方案,php,jquery,ajax,forms,Php,Jquery,Ajax,Forms,我有jquery/ajax: $('form').bind('submit', function () { $.ajax({ type: 'post', url: "Write-to.php", data: $("form").serialize(), success: function () { $.get("Data.php", function (data1) {
$('form').bind('submit', function () {
$.ajax({
type: 'post',
url: "Write-to.php",
data: $("form").serialize(),
success: function () {
$.get("Data.php", function (data1) {
console.log(data1);
$(".data").html(data1);
scrolltobottom();
setFocusToTextBox();
$("#usermsg").val("");
});
$('.submited').show();
$('.submited').html("S E N T");
$("#usermsg").val("");
setTimeout(function () {
$('.submited').fadeOut(1000);
}, 2000);
}
});
return false;
});
但是,当我单击enter时,我仍然需要在$(“#usermsg”).val(”)之前等待一段时间
这会导致意外的重复输入,因为用户认为他们实际上没有发送表单
我在php中设置了一个不允许任何空表单的函数
如何防止多个条目?在提交表单后,您可以在提交时解除绑定,并使用
return false绑定另一个函数代码>防止再次提交表单
var submitting = 0;
$('form').bind('submit', function () {
if(!submitting)
{
submitting = 1;
$.ajax({
type: 'post',
url: "Write-to.php",
data: $("form").serialize(),
success: function () {
submitting = 0;
$.get("Data.php", function (data1) {
console.log(data1);
$(".data").html(data1);
scrolltobottom();
setFocusToTextBox();
$("#usermsg").val("");
});
$('.submited').show();
$('.submited').html("S E N T");
$("#usermsg").val("");
setTimeout(function () {
$('.submited').fadeOut(1000);
}, 2000);
}
});
}
return false;
});
您可以在单击时修改UI,以指示表单已提交。然后,您可以在出错时恢复,或者在成功时继续。例如:单击时,禁用“提交”按钮。出现错误时,重新启用按钮。成功后,执行默认行为。这只会阻止我提交两次。句号!!如果此解决方案有效并回答了您的问题,请接受/投票。事实并非如此,这就是我将其删除的原因!我不明白。你想阻止第二次提交,但你却把它拿走了,因为它阻止你提交两次?它只会满足你的要求。哦,对不起!完全是我的错我的意思是阻止直到“成功”