仍在寻找解决方案但尚未找到,我有一个功能来管理相同/不同页面上的不同表单
function formStantardAction(correctAnswer,addCustomData){
addCustomData = (typeof addCustomData == "undefined")?'':addCustomData;
correctAnswer = (typeof correctAnswer == "undefined")?'Saved.':correctAnswer;
$('form.standard').submit(function(event){
event.preventDefault();
var modalWin = $(this).parent();
var values = $('form.standard').serialize() + addCustomData;
$.ajax({
url: "inc/gateway.php",
data: values,
type: "POST",
success: function(data){
if (data == "OK"){
$(modalWin).html(correctAnswer).delay(500).fadeOut(500);
setTimeout(function() {
mw_close();
}, 1000);
}else{
alert(data);
}
}
});
});
}
在使用名为 SEND 的输入 type="button" 加载页面和表单后
$('form.standard [name="SEND"]').click(function(){
var str = $('#sortableTo').serializelist();
formStantardAction('New train inserted.',str);
$('form.standard').submit();
});
所有值都通过 POST 到达一个 php 页面,该页面完成了所有操作(验证、插入数据库、更新日志...),如果一切正常,则用“OK”回答(因此模式窗口中的表单被自定义消息替换,并且淡出)或...如果出现错误,php 会回答一些文本,这些文本会弹出 js 并发出警报,使模式窗口与表单一起打开。
没关系,但是,如果 php 回答错误,则第二次单击 SEND 按钮,帖子将被发送 2 次。如果我在第二次发送时再次出错,然后再次单击发送按钮,则帖子值将发送三次......等等。
我能做些什么?我的错误在哪里?
谢谢。