为什么我的jQueryAjax表单在第一次提交时提交一次,在第二次提交时提交两次。。。?
我有一个简单的AJAX表单,它在我提交它时可以正常工作。但是,如果我随后将新数据输入到同一表单中(而不刷新页面),则该表单将提交两次。如果我第三次这样做,那么它会提交三次表单,以此类推。为什么要这样做?这是我的密码:为什么我的jQueryAjax表单在第一次提交时提交一次,在第二次提交时提交两次。。。?,ajax,jquery,Ajax,Jquery,我有一个简单的AJAX表单,它在我提交它时可以正常工作。但是,如果我随后将新数据输入到同一表单中(而不刷新页面),则该表单将提交两次。如果我第三次这样做,那么它会提交三次表单,以此类推。为什么要这样做?这是我的密码: $(document).ready(function(){ $("#myForm").submit(function() { var myField = $('#myID).val(); $.ajax({ type:
$(document).ready(function(){
$("#myForm").submit(function() {
var myField = $('#myID).val();
$.ajax({
type: "POST",
url: 'myFile.php',
dataType: 'html',
data: {myData:myField},
success: function(data){
alert(data);
}
});
return false;
});
});
甚至我在开发AJAX登录表单时也遇到了同样的问题。在谷歌搜索了几个小时后,我找到了一个解决方案。我希望这会对你有所帮助 基本上,在ajax请求完成后,必须取消绑定当前表单提交操作的实例。 因此,在返回false之前添加这一行强>
$("#myform").unbind('submit');
因此,您的整个代码应该如下所示
$(document).ready(function(){
$("#myForm").submit(function() {
var myField = $('#myID).val();
$.ajax({
type: "POST",
url: 'myFile.php',
dataType: 'html',
data: {myData:myField},
success: function(data){
alert(data);
}
});
/* Add this line */
$("#myform").unbind('submit');
return false;
});
});
我也有同样的问题 我在以下方面找到了解决方案: Basicali正在向Saurabh Mishra添加.submit(),答案是:
$('#form1').unbind('submit').submit();
取消绑定表单可能会中断Ajax。我发现只要我先申报表格
$('#my_form').ajaxForm
所有这些都按照预期工作,并遵循标准协议。我刚刚花了一天的时间来处理表单提交中的“缺少模板”错误,因为我解除了表单的绑定。你能从真实代码中复制并粘贴代码,而不是键入摘录吗?Hells yeah@Jack