在CKEditor对话框中引用文本输入字段

时间:2010-05-15 12:37:08

标签: reference ckeditor field

我已经玩了几个星期了,现在没有成功......

在CKEditor对话框中,文本输入字段使用唯一编号重命名 - 例如id:'txtUrl'将变为类似id ='27_textinput'。

我如何参考?

// I feel it should be something like:

var myfield = CKEDITOR.instances.myElement.document.$.body.getId('txtUrl');

// or maybe:

var myfield = CKEDITOR.dialog.getContentElement('info','txtUrl');

// and then:

myfield.value = 'myvalue';

但这些都行不通。请帮忙!提前谢谢,R

5 个答案:

答案 0 :(得分:6)

这是最终解决方案:

var dialog = CKEDITOR.dialog.getCurrent();
dialog.setValueOf('info','txtUrl',"http://google.com");
return false;

答案 1 :(得分:3)

在我现在使用的元素的onchange部分

dialog = this.getDialog();  
alert(dialog.getContentElement('info', 'grootte').getInputElement().$.id);  

并且结果给出'cke_117_select'。 (这是一个选择框)

alert(dialog.getContentElement('info', 'txtUrl').getInputElement().$.id);  

给出'cke_107_textInput' 我认为这是您(或本页面的其他访问者)正在寻找的内容。

答案 2 :(得分:2)

您有一个包含CKEditor 3的页面,并弹出一个对话框。您可以在此对话框中打开另一个弹出窗口,即JSP页面。要在CKEditor的父窗口的对话框中为字段设置值,请执行以下操作:

window.opener.CKEDITOR.dialog.getCurrent().getContentElement('dialogTabId', 'dialogTabFieldId').setValue('yourValue');

这适用于CKEditor 3。

答案 3 :(得分:0)

查看api对话框示例:

    // Get a reference to the "Link Info" tab.
    var infoTab = dialogDefinition.getContents( 'info' );

    // Set the default value for the URL field.
    var urlField = infoTab.get( 'url' );
    urlField['default'] = 'www.example.com';

答案 4 :(得分:-1)

获取

var ckValue = CKEDITOR.instances['txtUrl'].getData();

并设置

CKEDITOR.instances['txtUrl'].setData(ckValue);