/ / Tinymceエディタ:フォームの別のボタンをクリックしてもコンテンツが更新されない - javascript、jquery、html、tinymce、tinymce-4

Tinymce Editor:フォームの別のボタンをクリックすると更新されないコンテンツ - javascript、jquery、html、tinymce、tinymce-4

私は次の形式を持っています:

<form method="post" action="example.com" id="form">
<textarea id="content">{{$content_from_database}}</textarea>
<button type="submit">Update</button>
</form>

私が使う tinymce editor フォーム内:

 tinymce.init({
selector:"textarea#content"
});

コンテンツが更新された後、送信ボタンをクリックしたら

$("textarea#content").val() = "old content"

コンテンツはまだ古いコンテンツです。

更新しました

Ajaxコード:

$("#form").on("submit", function() {
$.post(
$(this).prop("action"), {
"content": $("textarea[name=content]").val(),
},
function(d){
console.log(d);
},
"text"
).done(function() {
alert("successful");
}).fail(function(e) {
alert("failed");
});
return false;
});

これをどうすれば解決できますか?

私を助けてください!

どうもありがとうございました!

回答:

回答№1は2

フォームの送信にAJAXを使用している場合は、 tinyMCE.triggerSave() TinyMCEに基礎を更新させるAPI呼び出し <textarea>.

TinyMCEをオリジナルのものにロードすると <textarea> 実際にはTinyMCEがページにロードするiFrameや他のDOM要素によって「隠されて」います。あなたがTinyMCEにタイプしているので、エディタは絶えず続けます <textarea> 同期中。

呼び出し tinyMCE.triggerSave() 基になるものを更新するようにエディターに強制します <textarea> その後、AJAXを使用して次のものを含むフォームを送信できます。 <textarea>.

これは、コードのこの部分の前に追加する必要があると思われるためです。 <textarea> 正しい内容を持っています。

$(this).prop("action"), {
"content": $("textarea[name=content]").val(),
}