Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 表单重置按钮上的重置编辑器值_Javascript_Jquery_Forms_Ckeditor - Fatal编程技术网

Javascript 表单重置按钮上的重置编辑器值

Javascript 表单重置按钮上的重置编辑器值,javascript,jquery,forms,ckeditor,Javascript,Jquery,Forms,Ckeditor,我的表单上有一个表单重置按钮: <a href="#" id="reset_button" class="btn" onClick="name_of_form.reset();">Reset</a> 这将重置窗体上除ckeditor之外的所有控件,并且我希望能够重置窗体上ckeditor的值 将重置编辑器的关联文本区域 那么如何将ckeditor的重置编码到表单重置按钮中呢?没有简单的方法将ckeditor与同步。但是可以将与CKEditor()同步。我首先将空数据

我的表单上有一个表单重置按钮:

<a href="#" id="reset_button" class="btn" onClick="name_of_form.reset();">Reset</a>

这将重置窗体上除ckeditor之外的所有控件,并且我希望能够重置窗体上ckeditor的值

将重置编辑器的关联文本区域


那么如何将ckeditor的重置编码到表单重置按钮中呢?

没有简单的方法将ckeditor与
同步。但是可以将
与CKEditor()同步。我首先将空数据设置为编辑器,然后调用
editor.updateElement()
重置字段和编辑器:

... onClick="CKEDITOR.instances.theInstance.setData( '', function() { this.updateElement(); } )" ...

如果你想有一个更通用的解决方案,这里有一个小的jQuery插件,它可以处理你网站上所有表单中的所有重置按钮:

/**
 * This will fix the CKEDITOR not handling the input[type=reset] clicks.
 */
$(function() {
    if (typeof CKEDITOR != 'undefined') {
        $('form').on('reset', function(e) {
            if ($(CKEDITOR.instances).length) {
                for (var key in CKEDITOR.instances) {
                    var instance = CKEDITOR.instances[key];
                    if ($(instance.element.$).closest('form').attr('name') == $(e.target).attr('name')) {
                        instance.setData(instance.element.$.defaultValue);
                    }
                }
            }
        });
    }
});

此代码只会重置正在重置的表单的CKEDITOR实例。

请在您的答案中添加一些解释,以便其他人可以从中学习
$('#Reset').click("click", function (e) {
    CKEDITOR.instances.editor2.setData( '', function() { this.updateElement(); } )    
});