编程语言
首页 > 编程语言> > javascript – 如何清除openwysiwyg编辑器的内容?

javascript – 如何清除openwysiwyg编辑器的内容?

作者:互联网

我在我的网页上使用openwysiwyg编辑器.我想清除它的内容.我用过

$('#report').val('');

但这并不清楚.

编辑器创建一个iframe并更新其中的内容,同步进行同步.

我该如何清除它?

解决方法:

您可能需要提供更多信息 – html本身非常有用,但我将假设该报告是您需要清除的textarea的ID.

如果它是普通的textarea,你的代码应该真的有效.

如果(正如保罗在评论中提到的那样)它被openwysiwyg编辑器修改,它可能会变成一个带有它自己的HTML页面的iFrame.操纵iFrame要困难得多.

看起来就是这样.

看一下这个例子,看看它是否有助于你引用iFrame本身:http://www.bennadel.com/index.cfm?dax=blog:1592.view

这是openwysiwyg附带的example.html的黑客摘录:

<script type="text/javascript">
    // Use it to attach the editor to all textareas with full featured setup
    //WYSIWYG.attach('all', full);

    // Use it to attach the editor directly to a defined textarea
    WYSIWYG.attach('textarea1'); // default setup
    WYSIWYG.attach('textarea2', full); // full featured setup
    WYSIWYG.attach('textarea3', small); // small setup

    // Use it to display an iframes instead of a textareas
    //WYSIWYG.display('all', full);  

    function getIFrameDocument( id )
    {
        var iframe = document.getElementById(id);

        if (iframe.contentDocument) {
            // For NS6
            return iframe.contentDocument; 
        } else if (iframe.contentWindow) {
            // For IE5.5 and IE6
            return iframe.contentWindow.document;
        } else if (iframe.document) {
            // For IE5
            return iframe.document;
        } else {
            return null;
        }
    }

    function clearcontents()
    {
        getIFrameDocument('wysiwygtextarea1').body.innerHTML = '';
    }
</script>

然后在页面的某个地方,我有一个清晰的按钮(实际上是div):

<div style="width:120px;height:20px;background:#ff0000;text-align:center;display:block;" onclick="clearcontents();">Clear!</div>

请注意,textarea的id以wysiwyg为前缀.这就是iFrame的名称.

我已经在Firefox中对此进行了测试,但此刻没有其他任何内容.获取我在网上找到的iFrame的代码,所以希望它适用于其他浏览器:)

标签:javascript,jquery,wysiwyg
来源: https://codeday.me/bug/20190827/1743331.html