0

我正在创建一个基于 jQuery 向导的表单(表单分为 5 个步骤)向导表单,在最后两个步骤中,我分别放置了两个 ckeditor。我的问题是这两个 ckeditor 没有响应,即它们不接受任何输入。我无法弄清楚为什么会发生这种情况。没有表单向导,相同的 ckeditor 可以正常工作。我认为表单向导插件和 ckeditor 插件之间存在冲突,但不知道那里到底发生了什么。

grails 项目的 github 链接上的示例项目。

编辑1:

这是我的自定义设置:

<div class="form-content">
    <div class="wizard-ignore">
<script type="text/javascript">
<ckeditor:config var="toolbar_Mytoolbar">
[
    [ 'Bold', 'Italic', 'Underline', 'Scayt' ]
]
</ckeditor:config>

delete CKEDITOR.instances['${name}'];
CKEDITOR.config.scayt_autoStartup = true;
CKEDITOR.config.fillEmptyBlocks = false;
function CKupdate() {
    for (instance in CKEDITOR.instances) {
        CKEDITOR.instances[instance].updateElement();
    }
}
<ckeditor:editor name="${name}" height="100px" width="98%" toolbar="Mytoolbar">
<g:if test="${summary}">
    ${summary}
</g:if>
</ckeditor:editor>

</script>
</div>
</div>

当我放一些alert(); 上面脚本 ckeditor 中的语句在 firefox 中工作。无法找到根本原因。任何建议/想法都会对我有所帮助。

Edit2: Grails 项目的 github 链接上的示例项目。

4

2 回答 2

3

将类向导忽略设置为编辑器,看看是否有帮助。

于 2013-10-30T18:14:34.837 回答
0

Jan Sundman的回答是绝对正确的,只需wizard-ignore向编辑器添加类即可。


您正在使用grails CKEditor 插件,您可以将类设置为

<script type="text/javascript">
$(function () {
    $("#${name}").addClass('wizard-ignore');

    <ckeditor:config var="toolbar_Mytoolbar">
    [
        [ 'Bold', 'Italic', 'Underline', 'Scayt' ]
    ]
    </ckeditor:config>

    delete CKEDITOR.instances['${name}'];
    CKEDITOR.config.scayt_autoStartup = true;
    CKEDITOR.config.fillEmptyBlocks = false;

    function CKupdate() {
        for (instance in CKEDITOR.instances) {
            CKEDITOR.instances[instance].updateElement();
        }
    }
});
</script>
<ckeditor:editor name="${name}" height="100px" width="98%" toolbar="Mytoolbar">
  <g:if test="${summary}">
    ${summary}
  </g:if>
</ckeditor:editor>

如果您按照链接中的说明直接使用ckeditor,则只需将类添加为

<g:textArea name="foo" class="wysiwyg wizard-ignore">
于 2013-11-05T07:10:37.223 回答