我有一个简单的AJAX表单,它在我提交时可以正常工作.但是,如果我然后将新数据输入到相同的表单中(不刷新页面),则它会提交表单两次.如果我第三次这样做,那么它会三次提交表单,依此类推.它为什么这样做?这是我的代码:
$(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;
});
});
Run Code Online (Sandbox Code Playgroud)
Sau*_*hra 10
甚至在开发AJAX登录表单时我也遇到了同样的问题.谷歌搜索几个小时后,我找到了解决方案.我希望这能帮到你.
基本上,在ajax请求完成后,您必须取消绑定表单提交操作的当前实例.所以在返回false之前添加这一行;
$("#myform").unbind('submit');
Run Code Online (Sandbox Code Playgroud)
因此,您的整个代码应该是这样的
$(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;
});
});