alert( parent.document.getElementById( "atext" ) );//先弹出一个undefined,后又一个object 
                                alert( parent.getElementById( "atext") );//只弹出一个undefined 
这两句执行时,a.html的<input id="atext" value="in b.html "> 还没开始解析,所以找到不,undefined 
parent.getElementById( "atext")返回的是一个object,可以通过parent.getElementById( "atext").value取到值

解决方案 »

  1.   

    看看:======================a.html======================== <html> 
    <head> 
    <script> 
    var a = "in main page a "; 
    function mainpage() { 
    alert( " in main page" ); 

    </script> 
    </head> 
    <body> 
                 <input id="atext" value="in b.html "> 
    <iframe src="b.html" name="afr"> </iframe> 

        
    </body> 
    </thml> ======================a.html========================----------------------b.html------------------------- <html> 
          <head> 
          <script> 
          alert( parent.a );//正常 
          alert( parent.mainpage() );//正常 
          alert( parent.document.getElementById( "atext" ) );//先弹出一个undefined,后又一个object 
            if(parent.getElementById("atext"))
                          alert( parent.getElementById( "atext") );//只弹出一个undefined 

          </script> 
          </head> 
          <body> 
               <input id="btext" value="in b.html "> 
          </body> 
    </thml> 
      

  2.   

    利用parent  child等
    加在document前面就可以