私は「テンプレート」セレクターを持っています。これにより、人々は現在のテキストエリアの「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>");
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> ');
メモのすべてのコンテンツを置き換えたくない場合は、execCommand WebAPIからinsertHTMLコマンドを使用できます。
Summernoteは execCommand WebAPI に基づいているため、そのリソースを直接使用できます。したがって、summernoteにHTMLコンテンツを追加する最も簡単な方法は、次のようにinsertHtml
パラメーターを使用することです。
document.execCommand('insertHtml', null, '<p>My text <span style="color:red;">here</span></p>');