a.jsp  <iframe name="s1" id="s1" src="b.jsp"/>
 嵌套的  b.jsp    <input id='s2' type='text' value='sss'>  
 
页面上已经出来b.jsp了  
 
我想在a.jsp 里获取b.jsp的 id是 s1的值  我在网上找 结果   报对象不支持此属性或方法  我是IE6var s=document.getElemntByld('s1').document;     //这地方就没通过
 alert(s);
if(s==underfined){
s=document.getElemntByld('s1').contentWindow.document;
}
var s2=s.getElemntByld('s2').value;
alert(s2);忘高手在百忙时间指教

解决方案 »

  1.   

    直接:window.s1.document
    或者:window["s1"].document注意,如果跨站点域,那就绝对没戏了。别一问多发,省点分数,大家都看得到的。
      

  2.   

    能再请教下吗 假如iframe 下 是个 <div id='s2' /> 我能像上诉方法获得这个对象吗  
    alert(window.s1.document.getElementById("s2"));
      

  3.   

    可以,只要不是跨站点域访问,想干啥干啥:
    alert(window.s1.document.getElementById("s2").innerHTML);
    不过,从设计角度来说,建议不要这样强耦合。通过调用函数来操作会合适点点。比如:
    s2.jsp 定义函数
    function doSomeThing(){}那么在s1.jsp中就可以:
    window.s1.doSomeThing();
    window["s1"].doSomeThing();
      

  4.   

    alert(document.getElementById("s1").contentWindow.document.getElementById("s2").value);代码有点啰嗦,但绝对有效
    测试人员在ie6,ie8,火狐,谷歌浏览器测试都通过了var s=document.getElemntByld('s1').document; //这地方就没通过lz这行代码还真没通过,
    document.getElemntByld('s1')   返回的一个对象
    这个对象貌似没有document这个属性,但是有contentWindow这个属性