我目前使用jquery来捕获表单的提交并显示用户确认对话框。如果用户点击是,则表单应提交。如果用户单击否,则关闭对话框。jquery陷阱表单提交()
这一切运作良好,但对一个问题:当用户点击是的,这再次触发了相同的代码,然后在对话框被重新打开。
$("#myform").submit(function (event) {
if (something) {
var $dialog = $('<div></div>').dialog({
buttons: {
"OK": function() {
$dialog.dialog('close');
$("#myform").submit();
return;
},
Cancel: function() {
$(this).dialog("close");
}
}
});
$dialog.dialog('open');
event.preventDefault();
return false;
} else {
$("#myform").submit();
}
});
我明白为什么会发生这种情况,只是不确定最佳的解决方法。我意识到我可以在按钮单击时显示模式,而不是表单提交,但是这并不解决用户敲击键盘上的输入按钮以提交表单的问题。
非常有趣!我不认为有一个明显的方法,但我希望有人能证明我错了!你尝试过整合'preventDefault()'功能吗? – 2012-01-30 15:09:46