我试图从我的SCEditor文本区获取值,使用以下代码:
var fbeschreibung = '';
$(function() {
// Replace all textarea's
// with SCEditor
$("textarea").sceditor({
plugins: "bbcode",
style: "css/style.less",
width: "100%",
toolbar:"bold,italic,underline,strike,subscript,superscript|left,center,right,justify|size,color,removeformat|bulletlist,orderedlist,horizontalrule,emoticon",
locale:"de" ,
resizeEnabled:false
});
fbeschreibung = $('textarea').sceditor('instance').val();
$('textarea').sceditor('instance').val('Hello [b]World![/b]');
});
然后我想通过AJAX发送值:
$.post('saveprofile.php',
{fbeschreibung : fbeschreibung},
function (response) {
alert(response);
}
);
然而,我不能得到这个工作。我在文档中没有找到任何提示:http://www.sceditor.com/api/sceditor/val/
变量fbeschreibung
是空的。是我做错了什么吗?
这对我有用:
$(function() {
// Replace all textarea's
// with SCEditor
var fbeschreibung = $("textarea").sceditor({
plugins: "bbcode",
style: "css/style.less",
width: "100%",
toolbar:"bold,italic,underline,strike,subscript,superscript|left,center,right,justify|size,color,removeformat|bulletlist,orderedlist,horizontalrule,emoticon",
locale:"de" ,
resizeEnabled:false
}).sceditor('instance');
var value = fbeschreibung.getBody().html();
});
我不熟悉这个特殊的编辑器,但是我提供的选项(注释)可能有用。
var fbeschreibung = '';
$(function() {
// Replace all textarea's
// with SCEditor
var editor = $("textarea").sceditor({
plugins: "bbcode",
style: "css/style.less",
width: "100%",
toolbar:"bold,italic,underline,strike,subscript,superscript|left,center,right,justify|size,color,removeformat|bulletlist,orderedlist,horizontalrule,emoticon",
locale:"de" ,
resizeEnabled:false
});
/* Try the following 3 options */
fbeschreibung = editor.val();
fbeschreibung = editor.getSourceEditorValue();
fbeschreibung = editor.getWysiwygEditorValue();
editor.val('Hello [b]World![/b]');
});
我在使用JQuery代码时遇到了一些问题,发现这实际上可以在不使用JQuery的情况下完成,使用:
sceditor.instance(textarea).val()
其中textarea
是创建编辑器的文本区域:
let textarea = document.getElementById('my-textarea');
// the sceditor variable is created by importing the sceditor JavaScript code
// (sceditor.min.js and formats/bbcode.js)
sceditor.create(textarea, {
format: 'bbcode',
style: '/minified/themes/content/default.min.css'
});
function logEditorValue(){
let textarea = document.getElementById('my-textarea');
let value = sceditor.instance(textarea).val();
console.log(value); // prints the value of the sceditor
}
如果页面上有多个sceditor,您可以使用将不同的textarea
传递给sceditor.instance
函数
(更多关于SCEditor的GitHub的用法部分的信息)