如果表单未提交,则运行窗口onbeforeunload函数

时间:2013-11-13 09:52:04

标签: javascript jquery forms onbeforeunload

当表格填满一半并且访问者试图离开页面时我必须运行onbeforeunload,但是当他提交表单时却不行。这是我的代码。

tomato = 0; // by default

$('#my_form').submit(function(){
    tomato = 1; // should change when submitted, but its not happening
});

window.onbeforeunload = function(e) {
    if(tomato==0){
        if ($('#business_name').val()) {
            return "Are you sure want abort your listing '"+$('#business_name').val()+"'??";  // Put your custom message here 
        }
    } else {
        return false;
    }
};

我希望你们了解我的问题,请帮忙。提前谢谢。

1 个答案:

答案 0 :(得分:0)

.submit()触发提交事件,因为它在调用时提交表单。你想要onSubmit事件监听器。

$(document).ready(function() {
tomato=0; 
$('#my_form').on('submit',function(){
    tomato = 1; 
});
});