jQuery MiniUI

 找回密码
 立即注册
查看: 4188|回复: 3
打印 上一主题 下一主题

关于CKEditor设值问题 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2014-3-26 14:32:33 |只看该作者 |倒序浏览
你好,我自己封装了CKEditor为MiniUI控件。代码如下:
mini.CKEditor = function () {
    mini.CKEditor.superclass.constructor.call(this);
}

mini.extend(mini.CKEditor, mini.ValidatorBase, {
    uiCls: "mini-ckeditor",
    _InputType: "text",
    formField: true,
    _create: function () {
                this.el = document.createElement("span");;
    },
    _doEmpty: function () {
        this._textEl.placeholder = this.emptyText;
        if (this.emptyText) {
            mini._placeholder(this._textEl);
        }

    },
    initEditor: function (id) {
            this._valueEl = CKEDITOR.replace(id);
    },
    setEmptyText: function (value) {
        this.emptyText = "";
    },
    getValue: function () {
        return this._valueEl.getData();
    },
    setValue: function (value) {
            this._valueEl.setData(value);
    },
    getAttrs: function (el) {
        var attrs = mini.CKEditor.superclass.getAttrs.call(this, el);
        var jq = jQuery(el);

        mini._ParseString(el, attrs,
            ["value"
             ]
        );

        return attrs;
    }
});
mini.regClass(mini.CKEditor, 'ckeditor');


然后在页面加载的时候,先调用initEditor()方法,然后调用form.setData()方法,发现在IE浏览器中有时候设置值会失败,但在希望给出指导帮助解决。

Rank: 8Rank: 8

沙发
发表于 2014-3-26 15:03:24 |只看该作者
form.setData() 是针对miniui表单控件的,

你要获取值,单独获取

Rank: 1

板凳
发表于 2014-3-26 15:39:59 |只看该作者
factory 发表于 2014-3-26 15:03
form.setData() 是针对miniui表单控件的,

你要获取值,单独获取

表单中如下写法:
<textarea id='remark' name='remark' class='mini-ckeditor' style='visibility:hidden'></textarea>


就是不想单独设值和取值,所以按照miniUI的方式扩展了一个CKEditor的控件。可以用form.getData() form.setData()方法,想代码简洁一点。

看了下dom结构,发现ckeditor是一个iframe, 所以估计是设值时iframe还没有加载完成,所以设值失败。

Rank: 1

地板
发表于 2014-3-26 16:43:03 |只看该作者
自己解决了。

    setValue: function (value) {
            var id = this.id;
            CKEDITOR.on('instanceReady', function (e) {
                    if (e.editor.name == id) {
                            e.editor.setData(value);
                    }
            });
    },

Archiver|普加软件

GMT+8, 2025-7-5 06:27 , Processed in 1.021077 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部