通过iframe在javascript中获取标签值

时间:2009-11-30 11:13:22

标签: asp.net javascript

我有一个包含以下代码的aspx页面

<body>
    <script language="javascript" type="text/javascript">
        function Hidee()
        {
        alert(window.frames["frame1"].document.getElementById("Label1").text);
        }
    </script>
    <form id="form1" runat="server">
    <div>
    <iframe id="frame1"  name="frame1" class="frame" frameborder="0" src="Default4.aspx"></iframe>
         <a onclick="javascript:Hidee()" style="cursor: pointer">close</a>
    </div>
    </form>
</body>

在Default4页面中,我有一个ID为Label1的标签 当我点击关闭按钮时,我会收到未定义警告消息

2 个答案:

答案 0 :(得分:0)

尝试:

function Hidee() {
var ifr=document.getElementById("frame1"),
cd=ifr.contentDocument || ifr.contentWindow.document;
alert(cd.getElementById("Label1").innerHTML);
} 

答案 1 :(得分:0)

  

的getElementById( “Label1的”)。文本

HTMLLabelElement没有text属性。

如果它是一个只包含一个Text节点的简单标签,您可以说:

getElementById('Label1').firstChild.data

如果它可能包含更复杂的文本和元素节点,则必须迭代它们以获取文本,或者使用DOM Level 3 Core textContent属性,而不是IE的备份支持它:

var label= frames['frame1'].document.getElementById('Label1');
var text= ('textContent' in label)? label.textContent : label.innerText;