2016-11-22 4 views
0

übermittle ich diese verwenden, das Formular zu senden, wenn Sie Abfrage getroffen + eingeben:CKEditor ‚Speichern‘ ist anders als

$(function() { 
    CKEDITOR.on('instanceReady', function(evt) { 
     evt.editor.setKeystroke(CKEDITOR.CTRL + 13, 'save'); 
    }) 
}) 

Leider scheint diese Taste, um die Taste einreichen ein bisschen anders zu sein.

Wenn ich ctrl + enter hole, bekomme ich ein Popup mit einer Warnung, dass im Formular Daten geändert wurden, und dass diese Daten verloren gehen würden. Wenn ich "leave the page" wähle, funktioniert alles einwandfrei (keine Daten gehen verloren).

Wie kann ich ctrl + eingeben arbeiten wie das Drücken der Schaltfläche Senden?

+0

Haben Sie eine separate Taste einreichen oder hat Ihr Formular nur ckeditor Feld? Ich kann versuchen, Ihnen einige Anweisungen zu geben, um den genauen Ereignishandler zu ermitteln, der auf Ihrer Seite registriert ist, wodurch die Popup-Nachricht angezeigt wird. Hast du Firefox oder Chrome installiert? – Wizard

Antwort

2

Es scheint, dass das Ereignis onbeforeunload ausgelöst wird, wenn Sie das Formular speichern.

Versuchen Sie das Speichern Ereignis und entfernen Sie den Event-Handler außer Kraft zu setzen:

for (var i in CKEDITOR.instances) { 
    CKEDITOR.instances[i].on('save', function(evt) { 
     window.onbeforeunload = null; 

     // if the above line doesn't work, 
     // replace it with the next line removing the two slashes 
     // $(window).off('beforeunload'); 
    }); 
} 
+0

Das funktioniert: 'window.onbeforeunload = null;'. Das hat mir sehr geholfen. Ich habe ein extra Kopfgeld begonnen, um deine Antwort zu belohnen. – guettli

+0

Froh zu helfen :-) – Wizard

0

Haben Sie versucht, "Speichern" durch "Senden" zu ersetzen.

CKEditor hat einen Cache, der die Dinge speichert, die Sie so eingegeben haben, wenn Sie die Verbindung verlieren usw. Ihr Inhalt wird nicht weg sein.

+0

Ich habe "save" durch "submit" ersetzt, aber jetzt passiert nichts. Gibt es Dokumente über die Liste der zulässigen Werte? – guettli