Heim  >  Artikel  >  Backend-Entwicklung  >  javascript - 如何避免表单提交也触发beforeunload事件

javascript - 如何避免表单提交也触发beforeunload事件

WBOY
WBOYOriginal
2016-08-04 09:21:311383Durchsuche

具体要求是这样:
为window绑定了beforeunload事件,检查切换或者关闭页面是否已经保存了输入内容,但是点击提交按钮的时候也会触发beforeunload事件,如何使表单提交不触发这个事件?

部分代码:

<code>    if ($scope.model.isSaving) {
      window.onbeforeunload = function (e) {
        e = e || window.event;

        // 兼容IE8和Firefox 4之前的版本
        if (e) {
          e.returnValue = '关闭提示';
        }

        // Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+
        return '关闭提示';
      };
    }</code>

button的submit事件中解绑即可

<code>$(window).off('beforeunload')或者window.onbeforeunload = null;
</code>

回复内容:

具体要求是这样:
为window绑定了beforeunload事件,检查切换或者关闭页面是否已经保存了输入内容,但是点击提交按钮的时候也会触发beforeunload事件,如何使表单提交不触发这个事件?

部分代码:

<code>    if ($scope.model.isSaving) {
      window.onbeforeunload = function (e) {
        e = e || window.event;

        // 兼容IE8和Firefox 4之前的版本
        if (e) {
          e.returnValue = '关闭提示';
        }

        // Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+
        return '关闭提示';
      };
    }</code>

button的submit事件中解绑即可

<code>$(window).off('beforeunload')或者window.onbeforeunload = null;
</code>

绑定按钮事件,ajax提交表单

那提交点击事件后,留在当前页面,不去触发这个事件!不知道这样行不行?

你可以使用ajax提交表单,获取到返回结果.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn