10

我的页面中有一个 iframe,如何通过单击按钮从父页面获取框架中 t 文本框的值?

这是我的代码

<div>
<iframe src="test.html" >
<input type=text id="parent_text">
<input type="button">
</div>

这是 d test.html

<input type="text" id="frame_text">

谢谢

4

5 回答 5

12

像这样的东西:

var iframe = document.getElementById('iframeId');
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
var input = innerDoc.getElementById('frame_text');

首先你得到 iframe。然后你从 iframe 中得到第一个有效的 dom 文档。

最后得到输入框。

于 2012-07-04T14:29:37.393 回答
1
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript">
        function getIframeText() {
            var iframe0 = document.getElementById("iframe0");
            var iframe0document=iframe0.contentDocument||iframe0.contentWindow.document;
            var inputIframe = iframe0document.getElementById("frame_text");
            alert(inputIframe.value);
        }
    </script>
</head>
<body>
    <div>
        <button onclick="getIframeText()">get iframe text</button>
        <iframe id="iframe0"  src="test.html" >
        <input type=text id="parent_text">
    </div>
</body>
</html>
于 2012-07-04T14:47:32.190 回答
1

如果您在一个iframe中有如下的Div/ 输入

 <iframe id="ifrmReportViewer" name="ifrmReportViewer" frameborder="0" width="980"

     <div id="EndLetterSequenceNoToShow" runat="server"> 11441551 </div> Or

     <input id="txtSequence" type="text" value="10500101" />

     <form id="form1" runat="server">        
       <div style="clear: both; width: 998px; margin: 0 auto;" id="divInnerForm">          

            Some Text

        </div>
     </form>
 </iframe>

然后您可以使用以下代码找到那些Div的文本

var iContentBody = $("#ifrmReportViewer").contents().find("body");
var endLetterSequenceNo = iContentBody.find("#EndLetterSequenceNoToShow").text();

var txtSequence = iContentBody.find("#txtSequence").val();
var divInnerFormText = iContentBody.find("#divInnerForm").text();

我希望这会对某人有所帮助。

于 2013-11-26T06:29:57.533 回答
1
$('iframe').contents().find('#mytextbox').val("myvalue");
于 2016-02-12T16:31:59.843 回答
0

这是父页面代码(我的意思是主页调用iframe):

<script>
 function frameClick(string){
   var name=string;
   document.getElementById("parent_text")=name;
   }
</script>

<div>
<iframe src="test.html" id="frame1">
<input type=text id="parent_text">
</div>

Here is iframe code(test.html):

<form method="post" action="" id='frm1' >
<input type="text" id="frame_text">
<input type="button" id="btm1" name="hangup" onclick="parent.frameClick(this.form.frame_text.value);" value="submit">
</form>
于 2014-12-18T05:21:52.493 回答