我想添加一条确认消息,当用户尝试提交表单时会弹出该消息。我想出了以下内容,但这对我来说似乎是一个黑客。
$('#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
属性的情况下实现吗?