Ich verwende tinyMCE für Textareas und POSTing-Form über AJAX.
Wenn ich versuche, den Textbereichswert zu speichern, werden beim ersten Klick alte Werte übernommen, beim zweiten Klick jedoch aktualisierte Werte.
Ich habe es mit tinyMCE.triggerSave()
versucht, aber es hat nicht funktioniert.
Ich habe auch tinyMCE.get('myid').getContent()
ausprobiert, es sind immer noch alte Werte.
Mein Code lautet wie folgt.
$(".submit").live("click", function () {
tinyMCE.triggerSave();
var f = $(this).parents("form");
var action = f.attr("action");
var serializedForm = f.serialize();
//tinyMCE.triggerSave(); also tried putting here
$.ajax({
type: 'POST',
url: action,
data: serializedForm,
async: false,
success: function (data, textStatus, request) {
$(".divform").html(data);
},
error: function (req, status, error) {
alert&("Error occurred!");
}
});
return false;
});
Bitte helfen Sie, jede Hilfe wäre dankbar
Verwenden Sie dies anstelle von tinymce.triggerSave();
$('#' + 'your_editor_id').html( tinymce.get('your_editor_id').getContent() );
Sie können TinyMCE wie folgt konfigurieren, um die Werte der ausgeblendeten Textbereiche synchron zu halten, da Änderungen über TinyMCE-Editoren vorgenommen werden:
tinymce.init({
selector: "textarea",
setup: function (editor) {
editor.on('change', function () {
tinymce.triggerSave();
});
}
});
Auf diese Weise können Sie jederzeit direkt aus den Textfeldelementen auf aktuelle Werte zugreifen.
Dies wurde auf TinyMCE 4.0 getestet
Demo läuft unter: http://jsfiddle.net/9euk9/
Eine alternative Implementierung zu der von Dan Malcolm für TinyMCE 3.x veröffentlichten Version würde wie folgt aussehen:
tinymce.init({
selector: "textarea",
setup: function (editor) {
editor.onChange.add(function() {
editor.save();
});
}
});
Diese Version verwendet nicht nur 3.x, sondern editor.save
anstelle von tinymce.triggerSave
. Dies bedeutet, dass nur der aktuelle Editor und nicht alle Editoren auf der Seite aktualisiert werden.
@Dan Malcom,
Ich habe bemerkt, dass, wenn Sie etwas in eines der Felder eingeben, die Schaltfläche "Textwerte anzeigen" drücken. Wenn Sie auf den Pfeil "Rückgängig" klicken, wird der bereits angezeigte Text beibehalten, nicht der neue Text, der durch "Rückgängig" verursacht wurde ". Ich habe es entdeckt, als ich versuchte, anhand Ihres Beispiels zu prüfen, ob der Texteditor etwas enthielt.
Wenn ich in meinem Beispiel etwas eingebe, dann "Rückgängig machen", wird der Text darin entfernt, das Formular wird jedoch weiterhin gesendet.
Beispiel hier sehen:
enter code here
https://codepen.io/speedygonzales77/pen/bzMrqB
enter code here
verwenden Sie dieses Skript, bevor Sie mit Ajax Daten veröffentlichen. Dies ist Javascript-Code vor der Verwendung. Bitte laden Sie die tiny mce js-Datei und verwenden Sie sie.
tinymce.triggerSave ();
$.ajax({
type: 'post',
url: 'autoSaveReport.php',
data: $('form').serialize(),
success: function (result) {
var redirectURL = window.location.pathname;
var redirectURL1 = redirectURL+"?incid="+result;
window.location = window.location+"?incid="+result;
}
});