在tinymce容器中添加type = file的输入元素

use*_*761 7 tinymce file-upload tinymce-4

我试图扩展一个tinymce插件,需要添加一个type = file的输入元素.

(我是这样一个练习的新手所以请原谅我的无知..也找不到实例/样本......)

您似乎可以执行以下操作以向在面板中打开的容器显示元素:

var generalFormItems = [
  {name: 'alt', type: 'textbox', label: 'Image description'},
  {name: 'width', type: 'textbox', maxLength: 3, size: 3, onchange: recalcSize},
];

win = editor.windowManager.open({
   title: 'Insert/edit image',
   data: data,
   bodyType: 'tabpanel',
   body: [
           {
        title: 'General',
        type: 'form',
        items: generalFormItems
       },
    ],
    onSubmit: onSubmitForm });
Run Code Online (Sandbox Code Playgroud)

我有兴趣添加type = file(<input type="file".../>)的输入html .因此应该有通常的html按钮,它将在浏览器上显示"文件对话框",以允许用户选择文件.所以我希望这样的事情:

    var generalFormItems = [
      {name: 'alt', type: 'textbox', label: 'Image description'},
      {name: 'width', type: 'textbox', maxLength: 3, size: 3, onchange: recalcSize},

--->  {name: 'fileSelect', type: 'file', label: 'Select a File to Upload'},

    ];
Run Code Online (Sandbox Code Playgroud)

是否可以这样做以及如何做?

use*_*761 9

管理得出这个想法,并希望在这里留下答案,以便其他人尝试做类似的事情.

每个UI表单元素上都有一个"子类型",它将按原样添加到DOM中.所以做下面的事情对我有用:

{name: 'file', type: 'textbox', subtype: 'file', label: 'Upload', onchange: uploadFile},
Run Code Online (Sandbox Code Playgroud)

插图