tinymce,从主窗口上的单击按钮获取对话框中的输入字段值

时间:2014-03-22 21:12:00

标签: javascript jquery html tinymce

我知道,没有人在这个网站上使用tinymce。因为在相关的tinymce之前我问了2个问题。没有人访问过这些页面。但同样,我有一个问题。我这样编码:

editor.addButton('site_link', {
  icon: 'fa-heart',
  tooltip: 'Internal link',
  onclick: function() {
  editor.windowManager.open({
    file : url + '/link.php',
    width : 500,
    height : 200,
    title: 'Internal link',
    buttons: [
    {
      text: "Get Link",
      classes: 'widget btn primary',
      id: "link",
      onclick: function() {
        var link = $('#bag_link').val();
        alert(link);
      }         
    },
    {
      id: "close",
      text: 'Kapat',
      onclick: 'close'
    }
    ]
  });
  }
});

“link.php”页面如下:enter image description here

单击“获取链接”按钮时,我想获取位于“link.php”中的值表单元素。但我没有管理它。你可以帮帮我吗 ?我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

我也必须通过这个来摔跤,但我想出了类似的东西。 而不是调用windowmanager我在onclick函数中有以下内容:

function showDialog()
{
    var var1, var2;
        // do whatever you need here

    var win = tinymce.ui.Factory.create({
        type: 'window',
        layout: "flex",
        pack: "center",
        align: "center",
        onClose: function() {
            ed.focus();
        },
        onSubmit: function(e) {
            var x,y,z;

            e.preventDefault();

            // read Field!!!!!
            x = win.find('#my_content_field').value();

                        // Do whatever you need here

            // Dialog schließen
            win.close();
        },
        onPostRender: function(){
            ed.my_control = this;
        },
        buttons: [
            {
                        text: "Paste",
                        onclick: function() {
                win.submit();
            }},
            {
                        text: "Cancel",
                        name: 'cancel',
                        disabled: false,
                        onclick: function() {
                win.close();
                        }}
        ],
        title: 'my title',
        items: {
            type: "form",
            padding: 20,
            labelGap: 30,
            spacing: 10,
            items: [
                {
                    type: 'textbox',
                    multiline: true,
                    name: 'my_content_field',
                    value: 'standard text'
                }
            ]
        }
    }).renderTo().reflow();
};