Summernote WYSIWYGエディタを使用して、HTMLテンプレートを編集したり、パーソナライズされた領域に変更を保存する機能をユーザに提供しています。これを行うには、編集されたHTMLと共にバックエンドに一連のテキストフィールドをPOSTする必要があります。JavaScriptでDOM innerHTMLにアクセスする際の問題
編集可能なDIVからPOSTされたHTMLが、更新されたDOMをPOSTしない、つまり元のHTMLテンプレートであり、編集なしですべてが期待通りに機能しています。
ブラウザのdevツールコンソールを使用している場合、 'document.documentElement.outerHTML'を使って正しく更新されたDOMを見ることができますが、IDでouterHTML要素を取得する変数を設定すると、マークアップ。次のようにスクリプト内
変数は、(他のStackOverflowの回答に基づく)である:
var content = $('#template_text')[0].outerHTML;
述べたように、これは私がDIVのコンテンツを投稿することができますが、そのA更新を投稿できません。ユーザーはテンプレートを作成します。
私はinnerHTML, outerHTML, html()
を使用しようとしましたが、基本的には同じ結果が得られます。変数内でdocument.documentElement.outerHTML
を使用すると、これは更新された値をPOSTしますが、DIVだけでなくドキュメント全体を送信します(私はDIVのみ必要です)。
ご協力いただければ幸いです。
あなたが 'var editedText = $( '#summernote')しようとするとどうなりますか?summernote( 'code');'? –
David、あなたは絶対天才です!ありがとう、これはまさに希望の効果を持っていた。なぜouterHTMLのアプローチがうまくいかないのか分かりますか? – AlexB
それは今働いてうれしい..まあ! DOMのアプローチは、ライブラリがどのようにそれに対処するかわからないので、達成するのはちょっと退屈かもしれません。私はこの回答を投稿します、あなたはそれを受け入れることができますか? –