我正在修改一些验证到我的表单。验证工作,问题是,当没有验证错误发生时,表单提交多次用户试图提交。这就像请求堆积如山。多次提交Ajax请求
形式有这个提交按钮调用我的AJAX功能create_new_stuff
<input id='submitButton' onclick='create_new_stuff()' name='submit' type='submit' value='create' />
功能
function create_new_stuff(){
$("#createForm").submit(function(event){
event.preventDefault();
event.returnValue = false;
var input_value = $("#createValue").val();
if(input_value === "" || null){
console.log("Wrong input value");
return;
}
else{
var request;
var $form = $(this);
var serializedData = $form.serialize();
request = $.ajax({
url: "/new_stuff.php",
type: "post",
data: serializedData
});
// callback handler that will be called on success
request.done(function (response, textStatus, jqXHR){
console.log("Stuff created!", response);
create_new_stuff_form();
var successDiv = $("<div class='success'>Stuff was created</div>");
$("#responseMessages").html(successDiv);
});
// callback handler that will be called on failure
request.fail(function (jqXHR, textStatus, errorThrown){
console.error(
"The following error occured: "+
textStatus, errorThrown
);
});
}
});
}
难道是因为您在提交类型按钮上有onClick事件吗?试着将你的按钮类型从'submit'切换到'button'。 – Fluitketel
成功验证后,您可以禁用提交按钮,并进行服务器调用或在按钮位置显示一些加载图像..并根据服务器响应对待 – vivek