1

我有一个名为parent.html. 从那里我调用一个模态对话框child.html。我有一个链接按钮child.html来关闭模式对话框。同时我想从 to 传递child.htmlparent.html

如何将值从子页面发送到父页面?

4

2 回答 2

2

如果您的子页面 (child.html) 与父页面位于同一域,您可以从 child.html 调用父窗口的函数。

在子页面 (child.html) 中:

<a href="..." onclick="parent.callFromChildPage('ABC')">Button Title</a>

并且,在父页面 (parent.html) 中:

<script language="javascript">
function callFromChildPage(a_value){
    alert("A value from child window is :" + a_value); // 'ABC'
}
</script>

而且,如果你可以在子页面(child.html)中使用jQuery,你可以直接设置父页面的元素如下:

<a href="..." onclick="$('#test', window.parent.document).html('ABC');">Button Title</a>
于 2012-12-19T07:32:11.180 回答
0

基本上在父页面中定义一个javascript函数,然后在子页面中简单地通过使用来调用这个函数opener

window.opener允许您引用打开文档的窗口对象。

子 HTML:

<html>
  <head>
    <script type="text/javascript">
      $('a#child-link').click(function(e){
          e.preventDefault();
          var tmp = $('input#child-input').value();
          window.opener.getChildVar(tmp);
      });
    </script>
  </head>
  <body>
    <input type="text" name="child-text" id="child-input" value="test text" />
    <a href="#" id="child-link">link</a>
  </body>
</html>

父 HTML:

<html>
  <head>
    <script type="text/javascript">
      function getChildVar(val) {
        var received_val = val;
      }
    </script>
  </head>
</html>
于 2012-12-19T07:48:07.793 回答