Heim >Backend-Entwicklung >PHP-Tutorial >javascript – So vermeiden Sie, dass die Formularübermittlung auch das Ereignis beforeunload auslöst

javascript – So vermeiden Sie, dass die Formularübermittlung auch das Ereignis beforeunload auslöst

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-08-04 09:21:311553Durchsuche

Die spezifischen Anforderungen lauten wie folgt:
Binden Sie das Beforeunload-Ereignis an das Fenster und prüfen Sie, ob der Eingabeinhalt beim Wechseln oder Schließen der Seite gespeichert wurde. Das Beforeunload-Ereignis wird jedoch auch ausgelöst, wenn auf die Schaltfläche „Senden“ geklickt wird . Wie kann verhindert werden, dass die Formularübermittlung dieses Ereignis auslöst?

Teil des Codes:

<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>

Sie können die Bindung im Submit-Ereignis der Schaltfläche aufheben

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

Antwortinhalt:

Die spezifischen Anforderungen lauten wie folgt:
Binden Sie das Beforeunload-Ereignis an das Fenster und prüfen Sie, ob der Eingabeinhalt beim Wechseln oder Schließen der Seite gespeichert wurde. Das Beforeunload-Ereignis wird jedoch auch ausgelöst, wenn auf die Schaltfläche „Senden“ geklickt wird . Wie kann verhindert werden, dass die Formularübermittlung dieses Ereignis auslöst?

Teil des Codes:

<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>

Sie können die Bindung im Submit-Ereignis der Schaltfläche aufheben

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

Schaltflächenereignisse binden, Ajax-Sendeformular

Bleiben Sie nach dem Absenden des Klickereignisses auf der aktuellen Seite und lösen Sie dieses Ereignis nicht aus! Ich weiß nicht, ob das funktioniert?

Sie können Ajax verwenden, um das Formular einzureichen und die zurückgegebenen Ergebnisse zu erhalten.

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