如何使用 jQuery 隐藏和显示 CKEditor?

发布于 2024-09-10 13:58:06 字数 576 浏览 3 评论 0原文

以下代码应该允许隐藏/显示 CKEditor 表单

<a onClick="$('#form1').hide();">Hide</a>
<a onClick="$('#form1').show();">Show</a>
<form action="sample_posteddata.php" method="post" id="form1">
    <textarea id="editor1" name="editor1">blabla</textarea>
    <script type="text/javascript"> CKEDITOR.replace( 'editor1' ); </script>
    <input type="submit" value="Submit" />
</form>

但是,此代码在 Chrome 上运行良好,但在 Firefox 上,一旦我切换了编辑器(单击“隐藏”然后单击“显示”),它就变得不可编辑!!

我怎样才能让它在每个浏览器上运行?

谢谢。

The following code should allow to hide/show the CKEditor form

<a onClick="$('#form1').hide();">Hide</a>
<a onClick="$('#form1').show();">Show</a>
<form action="sample_posteddata.php" method="post" id="form1">
    <textarea id="editor1" name="editor1">blabla</textarea>
    <script type="text/javascript"> CKEDITOR.replace( 'editor1' ); </script>
    <input type="submit" value="Submit" />
</form>

However, this code works fine on Chrome but on Firefox, once I have toggled once the editor (one 'hide' click followed by one 'show' click) , it becomes not editable !!

How can I make it work on every browser?

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

少女七分熟 2024-09-17 13:58:06

解决方案是:

// Hide form
CKEDITOR.instances.editor1.updateElement();
CKEDITOR.instances.editor1.destroy();
$('#form1').hide();
//Show form
CKEDITOR.replace( 'editor1', {height: "220px", skin: "v2"});
$('#form1').show();

Solution is:

// Hide form
CKEDITOR.instances.editor1.updateElement();
CKEDITOR.instances.editor1.destroy();
$('#form1').hide();
//Show form
CKEDITOR.replace( 'editor1', {height: "220px", skin: "v2"});
$('#form1').show();
爱她像谁 2024-09-17 13:58:06

我在 http:// 找到了答案dizkover.com/post/67/how-to-show-hide-ckeditor-using-jquery-ckeditor-tip

所以基本上,您必须首先通过执行 ff 来销毁 CKEditor 实例:

if(typeof CKEDITOR.instances['element_name'] != 'undefined') {
    CKEDITOR.instances['element_name'].updateElement();
    CKEDITOR.instances['element_name'].destroy();
}

I found an answer at http://dizkover.com/post/67/how-to-show-hide-ckeditor-using-jquery-ckeditor-tip

So basically, you have to destory the CKEditor instance first by doing the ff:

if(typeof CKEDITOR.instances['element_name'] != 'undefined') {
    CKEDITOR.instances['element_name'].updateElement();
    CKEDITOR.instances['element_name'].destroy();
}
可爱暴击 2024-09-17 13:58:06

看起来这可能会帮助您:

http://dev.ckeditor.com/ticket/544

在我链接的报告中,他们展示了这样的尝试:

if (frames[0]) {
  frames[0].FCK.EditingArea.MakeEditable();
}

Looks like this might help you out:

http://dev.ckeditor.com/ticket/544

In the report I linked to they show trying something like this:

if (frames[0]) {
  frames[0].FCK.EditingArea.MakeEditable();
}
眼泪淡了忧伤 2024-09-17 13:58:06

似乎没有真正的解决方法。

请参阅此处了解更多信息。唯一的解决办法就是等待CKEditor新版本3.4。

It doesn't seem to have a real workaround.

See here for more info. The only solution is to wait for CKEditor new version 3.4.

情独悲 2024-09-17 13:58:06
<div id="container">            
    <textarea class="ckeditor" cols="80" id="editor1" name="editor1" rows="10"></textarea>
</div>
<p>
    <input type="button" value="jQuery Hide" onclick="$('#container').hide('fast');" />
    <input type="button" value="jQuery Show" onclick="$('#container').show('fast');" />
</p>
<div id="container">            
    <textarea class="ckeditor" cols="80" id="editor1" name="editor1" rows="10"></textarea>
</div>
<p>
    <input type="button" value="jQuery Hide" onclick="$('#container').hide('fast');" />
    <input type="button" value="jQuery Show" onclick="$('#container').show('fast');" />
</p>
任谁 2024-09-17 13:58:06

尝试将其包装在 div 中,例如:

<表格>...


并使隐藏显示在 div 上。

Try wrapped it in a div eg : <div id="fckz"> <form >...</form> </div>
and make the hide show on the div .

错爱 2024-09-17 13:58:06
$("div[id*='cke_editor']").hide();

$("div[id*='cke_editor']").show();

对于我的 CckEditor 4

$("div[id*='cke_editor']").hide();

$("div[id*='cke_editor']").show();

For my CkEditor 4

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文