user1372430
user1372430

Reputation:

tinymce, get input field value from dialog box with click button on the main window

I know, no one uses tinymce in this site. Because I asked 2 question before related tinymce. No one visited the pages. But again, I have a problem. I coded like this:

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'
    }
    ]
  });
  }
});

And the "link.php" page is like this:enter image description here

When click "Get Link" button, I want to get values form elements which located in the "link.php". But I did not manage it. Could you help me ? How can I do this?

Upvotes: 3

Views: 2163

Answers (1)

Thariama
Thariama

Reputation: 50832

I had to wrestle through this too, but i came up with something like this. Instead of calling the windowmanager i had the following inside the onclick function:

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();
};

Upvotes: 1

Related Questions