【发布时间】:2013-04-02 09:33:58
【问题描述】:
我想添加一条确认消息,当用户尝试提交表单时会弹出该消息。我想出了以下内容,但这对我来说看起来像是一个黑客。
$('#someform').submit(function () {
var form = $(this);
//a hack so that this handler does not fire again, see below
if (form.attr('data-confirm') == 'disabled') {
return true;
}
showConfirmPopup({
message: "Are you sure?",
success: function () {
form.attr('data-confirm', 'disabled');
form.submit();
hideConfirmPopup();
}
});
return false;
})
});
因此,当用户提交表单时,此处理程序将捕获事件并阻止、显示弹出窗口并阻止表单提交(通过返回 false)。当用户确认后,成功处理程序将所有表单提交方法,我们的处理程序将再次触发,但这一次它将返回true 并提交表单。
不写data-confirm属性可以实现吗?
【问题讨论】:
-
我可能会使用变量而不是属性,但这是相同的想法。
-
我会选择一个变量。
标签: jquery