这样好了,在帧(A)的处理函数设置一个if条件判断,默认该条件判断是false;然后帧(B)的onload事件中改变该条件判断为true

解决方案 »

  1.   

    在帧A的处理函数中,只要有这个
    top.C.B.form.text.value = "...";
    就会报错,即使你的
    if (3>5)
    {
    top.C.B.form.text.value = "...";}
      

  2.   

    帧A的处理函数
    <script>
    var framebLoaded=false;
    function change(){
    if(framebLoaded==true){
       top.C.B.form.text.value = "...";
    }
    else {
       setTimeout("change()",1000);
    }
    }
    change();
    </script>帧B:
    <body onload="parent.leftFrame.framebLoaded=true">
      

  3.   

    bencalie(Bencalie)的方法中如果B下载了,而A没有下载同样会报错的!
    我的方法只要把以下代码加入A,而B不需要改动。
    <script language=javascript>
    function change(){
    if (top.C.B.form){
    if (top.C.B.form.text){
    top.C.B.form.text.value='123456';
    } else{
    setTimeout("change()",100);
    }
    } else{
    setTimeout("change()",100);
    }
    }
    change();
    </script>如果给B的TEXT框取个ID如:thetext,就可以使程序简化一点。<script language=javascript>
    function change(){
    (top.C.B.document.all['thetext'])?top.C.B.document.all['thetext'].value='123456':setTimeout("change()",100);
    }
    change();
    </script>
      

  4.   

    上面的方法是当文本框已下载就写入数据,如果非要完全下载,可以这样<script language=javascript>
    function change(){
    (top.C.B.document.readyState=='complete')?top.C.B.form.text.value='123456':setTimeout("change()",1000);
    }
    change();
    </script>这里的readyState=='complete'就相当于B的onload。
      

  5.   

    我也有同样问题,借楼主地盘一用,分数可以另开贴给。
    我的问题基本和楼主的一样,只不过多了一点,就是无论怎么样都要把值赋到B帧的text框里。我的意思当出现错误后,能不能做一个延时,再重复帧(A)要对另外一个帧(B)的TEXT框写值。