当用户从父窗口点击按钮时,我使用
JavaScript打开一个新窗口(子).
在新窗口(子),我有文本框和按钮,我需要获取文本框的值并在用户单击按钮时传递到父窗口,在关闭子窗口时,我需要将更新的值插入父窗口(不需要刷新父窗口)所以我可以将我的值显示在父窗口的某个隐藏字段/标签上,我该怎么做?
1-父窗口有按钮,单击子窗口打开
2-子窗口有文本框和按钮,当点击按钮时,子项将对服务器进行更新后更新数据库,然后将文本框的值传递给父窗口而不刷新父窗口,并关闭子窗口.
我怎样才能做到这一点?它可以用简单的JavaScript完成吗?
如果我使用jquery这样做,我会获得更多好处吗?
任何人都可以建议我怎么做?
解决方法
我建议使用jQuery
dialog widget而不是实际的新窗口.这样可以更容易地访问新值,因为它位于同一窗口的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>