【发布时间】:2012-02-22 08:54:25
【问题描述】:
我目前正在使用 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()功能?