本帖最后由 taotaoqi 于 2009-12-25 17:45:56 编辑

解决方案 »

  1.   

    加载顺序问题,
    document.getElementById("main_page").src="test1.asp"; 执行后马上去改控件值,此时iframe中的文档 可能还是原来的,当执行完后,新的文档才加载完的话就会出现原来的值<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>无标题文档 </title> 
    <script> function mydisplay(){
    window.frames["main_page"].document.getElementById("aaa").value="新值"; 
    var aa=window.frames["main_page"].document.getElementById("aaa").value; 
    alert(aa); 

    </script> 
    </head> 
    <body> 
    <input name="aa" type="button" value="点 击" onclick="mydisplay()"/> 
    <table id="aa" style="p"> 
    <tr> 
    <td> 
    下面的iframe里面的input的值为什么又变回去了呢? 
    </td> 
    </tr> 
    </table> 
    <iframe id="main_page" name="main_page" src="test333.html"></iframe> 
    </body> 
    </html> 
     
      

  2.   

    感谢楼上的回复。但是,在a页面 已经定下来时这个形式<iframe id="main_page" name="main_page" src=""></iframe> ,src赋值 是在function mydisplay()里面。
      

  3.   

    那就采用回调方式。在 iframe加载的页面中 onload()事件中去调用parent.xxx(); xxx()是父页面的函数,用于赋值。
    ---------------
    再不行么就做一的定时器 setTimeout()每秒钟去判断 if(document.frames['xxx'].document.readyState == "complete") 赋值; else setTimeout()轮询