3

我有以下两个 html 文件。在PassValueIFrame.html 我有一个 iframe 引用inputForm.html。另外,我有一个隐藏字段,PassValueIFrame.html我试图在其中检索它的值,inputForm.html但没有得到它的值,它警告为“ undefined”。我在这里做错了吗?请帮我。

PassValueIFrame.html

<html>
  <head>
  <title>IFrame Example</title>
  </head>
<body>
<input type="hidden" class="Language" value="English">
<iframe name="iframe" id="iframe_id" src="inputForm.html" height="150" >
</iframe>
</body>
</html>

inputForm.html

<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script language="javascript">
  $(document).ready(function() {
    alert($(this).parent().find('.Language').html());
  });

  </script>
   <title>IFrame Child Example</title>
</head>
<body>
<h1> Iframeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee </h1>
</body>

谢谢!

4

3 回答 3

10
<input id="myInput" type="hidden" class="Language" value="English">

$("#myInput", window.parent.document).val();
于 2013-08-05T06:28:17.550 回答
3

尝试这个:

alert(parent.document.getElementsByClassName("Language")[0].value);

或将 id (例如languageId)添加到隐藏元素并尝试

alert(parent.document.getElementById("languageId").value);
于 2013-08-05T06:27:56.773 回答
0

您可以做的另一件事是在父窗口中定义一个函数并从 iframe 调用它:

inputForm.html

<html>
<head>
    <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
    <script language="javascript">
        $(document).ready(function() {
            window.parent.parent_function("Papa!");
        });
    </script>
    <title>IFrame Child Example</title>
</head>
<body>
    <h1> Iframeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee </h1>
</body>
</html>

PassValueIFrame.html

<html>
    <head>
    <title>IFrame Example</title>
    <script>
        function parent_function(str) {
            window.alert(str);
        }
    </script>
</head>
<body>
    <input type="hidden" class="Language" value="English">
    <iframe name="iframe" id="iframe_id" src="inputForm.html" height="150" >
    </iframe>
</body>
</html>
于 2013-08-05T06:41:45.350 回答