私は次の形式を持っています:
<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(),
}