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

时间:2009-07-05 16:42:33

标签: javascript jquery popup

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

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

1-父窗口有按钮,单击子窗口打开 2-子窗口有文本框和按钮,当点击按钮时,子项将发送到服务器更新数据库,然后将文本框的值传递给父窗口而不刷新父窗口,并关闭子窗口。

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

2 个答案:

答案 0 :(得分:14)

我建议使用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>

答案 1 :(得分:4)

绝对:你正在寻找JS原生* 开启者属性(讨论here),不需要jquery(尽管它可能会在那里包装)。

Windows打开和关闭是一种非常非2.0的处理方式,您是不是更喜欢使用灯箱或类似的页内HTML对话框? jQuery对话框肯定是前进的方向。

* ,如果不是标准定义,则普遍支持