jquery可以做到这一点?弹出窗口的价值

i n*_*elp 6 javascript jquery popup

当用户从父窗口点击按钮时,我使用JavaScript打开一个新窗口(子).

在新窗口(子),我有文本框和按钮,我需要获取文本框的值并在用户单击按钮时传递到父窗口,在关闭子窗口时,我需要将更新的值插入父窗口(不需要刷新父窗口)所以我可以将我的值显示在父窗口的某个隐藏字段/标签上,我该怎么做?

1-父窗口有按钮,点击子窗口打开2-子窗口有文本框和按钮,当点击按钮时,子项将对服务器进行更新数据库,然后将文本框的值传递给父窗口而不刷新父窗口,关闭儿童窗口.

我怎样才能做到这一点?它可以用简单的JavaScript完成吗?如果我使用jquery这样做,我会获得更多好处吗?任何人都可以建议我怎么做?

tva*_*son 14

我建议使用jQuery 对话框小部件而不是实际的新窗口.这样可以更容易地访问新值,因为它位于同一窗口的DOM中.只需从关闭窗口的按钮中获取回调,就可以从对话框中包含的DOM元素中提取值,并将其复制到表单上的目标DOM元素.

$('#popupDialog').dialog({
     modal: true,
     autoOpen: false,
     buttons: {
          'Cancel': function() {
                       $(this).dialog('close');
                    },
          'Accept': function() {
                       $('#mainForm input#target').val( $(this).find('#widgetName').val() );
                       $(this).dialog('close');
                    }
});

$('#popupButton').click( function() {
   $('#popuDialog').dialog('open');
});


<div id="popupDialog" title="Input a new widget name">
  <p>
     <label for="widgetName">Please input a new widget name:</label>
     <input type="text" id="widgetName" />
  </p>
</div>
Run Code Online (Sandbox Code Playgroud)