从SCEditor获得价值

时间:2015-09-02 22:18:45

标签: javascript jquery ajax variables sceditor

我试图从我的SCEditor textarea中获取值:

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"只是空的 如果你能告诉我我做错了什么,那将是非常好的 谢谢!

3 个答案:

答案 0 :(得分:1)

这对我有用:

$(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();
});

答案 1 :(得分:1)

我在使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函数

(有关Usage section on SCEditor's GitHub的更多信息)

答案 2 :(得分:0)

我不熟悉这个特殊的编辑器,但我提供给你的选项(评论)可能有效。

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]');
});