开发者

Stop user from leaving web page, except for when submitting form

To stop the user from leaving my page, I'm using this javascript:

window.onbeforeunload = function()
{
  if($('textarea#usermessage').val() != '')
  {
    return "You have started writing a message.";
  }
};

This shows a message warning the user not to leave the page because they've started writing a message but not submitted. This shows up to save the user from losing this data.

Now, how can I stop this mess开发者_Go百科age from showing up when the form is submitted?


function handleWindowLeaving(message, form) {
    $(window).bind('beforeunload', function (event) {
        return message;
    });
    $(form).bind('submit', function () {
        $(window).unbind('beforeunload');
    });
};

when calling this, pass your message and the form reference, and it will automatically remove onbeforeunload when submitting the form. Otherwise, show message to user


Set a flag in your form's submit handler; check whether the flag is set in your unload handler. If it is - voila, it's a form submit!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜