1

如果未发布表单,我正在使用 jQuery 显示消息,使用以下技术:

$(window).bind("beforeunload", function()
{
    form = ... // how to access the submitted $("#form")?
    // here is code to check if form values have changed
    return "Are you sure you want to leave this page without saving (submitting the form)?"
}

由于 $(this) 显然是窗口元素,我怎样才能找出页面上试图提交的表单(如果提交了表单)?

谢谢。

4

2 回答 2

2

我建议不要绑定到beforeunload- 即使他们尝试提交表单也会触发 - 您而是使用绑定到submit表单事件的确认对话框。

像这样的东西:

$('form').submit(function(e) {
    if(!confirm('Are you sure you want to submit the form?'))
        e.preventDefault();
});
于 2012-07-31T09:06:24.770 回答
0

不知道如何按照自己的方式进行。我会改写提交:

$('form').submit(function() {
         // display message and return false if they answer 'cancel'
});
于 2012-07-31T09:07:25.457 回答