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

WBOY
Freigeben: 2016-08-04 09:21:31
Original
1438 Leute haben es durchsucht

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>
Nach dem Login kopieren
Nach dem Login kopieren

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

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

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>
Nach dem Login kopieren
Nach dem Login kopieren

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

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

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.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage