web-dev-qa-db-ja.com

SummerNote insertHtml

私は「テンプレート」セレクターを持っています。これにより、人々は現在のテキストエリアの「text/html」を変更できます。

そのため、彼らがテンプレートを変更したら、Summernote HTMLを更新する必要があります。 (insertText)のメソッドが表示されますが、HTMLでは機能しません。

HTMLバージョンの解決策はありますか?

.code()ソリューションがあると思ったが、機能していないようだ? 「Not a function」というエラーが表示されます

どんな助けも大歓迎です!

$('.dialogMessageArea').summernote({
            height:'230px',
            focus:true,
            toolbar: [
                ['style', ['bold', 'italic', 'underline', 'clear']],
                ['fontsize', ['fontsize']],
                ['para', ['ul', 'ol', 'paragraph']],
                ['table', ['table']],
                ['misc', ['fullscreen','undo','redo']]
            ]
        });

        $(document).on('change', '.messageTemplate', function() {
            var templateId = $(this).selected().attr('value');
            if(templateId) {
                $.ajax({
                    type: "POST",
                    dataType: "json",
                    url: '/cont/templates/GetTemplate',
                    data: {'templateId': templateId},
                    success: function (data) {
                        $('.subjectMessage').val(data.results[0].subject);
                        if(data.results[0].template) {
                            $('.dialogMessageArea').code(data.results[0].template);
                        }
                    },
                    error: function () {
                        alert('We were not able to get your template');
                    }
                });
            }
        });

console.log($('.dialogMessageArea'));
console.log("<b>Welcome</b><h3>hello world</h3>");

enter image description here

13
Justin

Api( http://summernote.org/getting-started/#basic-api )によると、

wysiwygの値を変更するには、最初のパラメーターとして 'code'文字列を使用し、2番目のパラメーターとしてコンテンツを使用するsummernote関数を使用する必要があります

このような :

$('.dialogMessageArea').summernote('code', data.results[0].template);
.summernote('pasteHTML', '<b>inserted html</b> ');
18
Step

メモのすべてのコンテンツを置き換えたくない場合は、execCommand WebAPIからinsertHTMLコマンドを使用できます。

Summernoteは execCommand WebAPI に基づいているため、そのリソースを直接使用できます。したがって、summernoteにHTMLコンテンツを追加する最も簡単な方法は、次のようにinsertHtmlパラメーターを使用することです。

document.execCommand('insertHtml', null, '<p>My text <span style="color:red;">here</span></p>');
2
Marcel Kohls