ckeditor如何使用对话框中的按钮动态添加文本字段

时间:2015-03-19 06:30:46

标签: dialog ckeditor

我正在使用ckeditor 4.x.我正在使用对话框创建一个小部件。我正在创建一个带有一些文本输入字段的对话框。我想在对话框中添加一个按钮(例如新字段)以动态添加新的输入文本字段。

1 个答案:

答案 0 :(得分:0)

我为此目的使用了这样的东西:

      CKEDITOR.on('dialogDefinition', function(ev) {
        var onSelectCb = function(url) {
          var fieldlName;

          if (ev.data.name === 'link') {
            fieldlName = 'url';
          } else if (ev.data.name === 'image') {
            fieldlName = 'txtUrl';
          } else if (ev.data.name === 'flash') {
            fieldlName = 'src';
          }

          CKEDITOR.dialog.getCurrent().setValueOf('info', fieldlName, url);
        };

        if (['link', 'image', 'flash'].indexOf(ev.data.name) !== -1) {
            ev.data.definition.getContents('info').get('urlOptions').children.push({
            type: 'hbox',
            children: [{
              type: 'button',
              id: 'browseQpSite',
              label: 'Просмотр библиотеки сайта',
              onClick: onBrowseSiteLibrary.call(onSelectCb)
            },
            {
              type: 'button',
              id: 'browseQpContent',
              label: 'Просмотр библиотеки контента',
              onClick: onBrowseContentLibrary.call(onSelectCb)
            }]
          });
        }
      });

      CKEDITOR.replace(self._editorElem.id, getCkEditorConfig(self));
    }

此代码使用自定义onClick处理程序添加两个按钮