parent和opener是两回事,用不window.open打开的用opener,框架用parent

解决方案 »

  1.   

    parent.document.All["form1"].value="text1.value"
      

  2.   

    看这里:
    http://expert.csdn.net/Expert/topic/1617/1617665.xml?temp=.6467554
      

  3.   

    楼上的,parent.document.All["form1"].value是什么意思?form的value?
      

  4.   

    window.open子窗口
    window.opener.document.forms["form1"].textName.value = "my Value";frameset子窗口
    parent.frames["childFrameName"].document.forms["form1"].textName.value = "my Value";
      

  5.   

    注意,text是系统保留字,用在<input type=text>的,最好不要用来做表单元素的名字。至于你的问题,试试下面这段代码,看看在哪一行打出来undefined就知道死在哪里了。alert(parent);
    alert(parent.document);
    alert(parent.document.form1);
    alert(parent.document.form1.text);
    alert(parent.document.form1.text.value);
      

  6.   

    A.htm
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var newWin= window.open('B.htm','moonpiazza','top=100,left=30,width=300,height=200');
    //-->
    </SCRIPT>
    <FORM METHOD=POST ACTION="" NAME="Test">
    <INPUT TYPE="text" NAME="txt1">
    <INPUT TYPE="text" NAME="txt2">
    </FORM>
    B.htm 子窗口<SCRIPT LANGUAGE="JavaScript">
    <!--
    function EditValue()
    {
    var returnValue_1 = document.Test.txt_1.value; //可以其他值
    var returnValue_2 = document.Test.sel_1.value; //可以其他值
    opener.document.Test.txt1.value = returnValue_1;
    opener.document.Test.txt2.value = returnValue_2;
    self.close();
    }
    //-->
    </SCRIPT>
    <FORM METHOD=POST ACTION="" NAME="Test">
    <INPUT TYPE="text" NAME="txt_1">
    <SELECT NAME="sel_1">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
    </SELECT>
    <A HREF="javascript:EditValue();">修改</A>
    </FORM>:_)
      

  7.   

    谢谢各位
      我测试了moonpiazza的代码,未见任何故障,但是我在其基础上作如下修改使适合我的要求时问题就出现了,烦请各位给我看看(我实在没法)
    A.htm<htlm>
    <head></head>
    <body>
     <FORM METHOD=POST ACTION="" NAME="Test">
    <INPUT TYPE="text" NAME="txt1">
    <input type="button" value="try it" onClick="window.open('B.htm','moonpiazza','top=100,left=30,width=300,height=300')">
    </FORM>
    </body>
    </htlm>B.htm (其目的是通过控件选择时间)
    <HTML>
    <HEAD>
    <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
    <TITLE></TITLE>
    </HEAD>
    <BODY>采集时间是: 
    <INPUT id="text1" name="text1">
    <br>
    <OBJECT classid=clsid:8E27C92B-1264-101C-8A2F-040224009C02 id=Calendar1><PARAM NAME="_Version" VALUE="524288"><PARAM NAME="_ExtentX" VALUE="7620"><PARAM NAME="_ExtentY" VALUE="5080"><PARAM NAME="_StockProps" VALUE="1"><PARAM NAME="BackColor" VALUE="-2147483633"><PARAM NAME="Year" VALUE="2003"><PARAM NAME="Month" VALUE="3"><PARAM NAME="Day" VALUE="17"><PARAM NAME="DayLength" VALUE="0"><PARAM NAME="MonthLength" VALUE="0"><PARAM NAME="DayFontColor" VALUE="0"><PARAM NAME="FirstDay" VALUE="1"><PARAM NAME="GridCellEffect" VALUE="1"><PARAM NAME="GridFontColor" VALUE="10485760"><PARAM NAME="GridLinesColor" VALUE="-2147483632"><PARAM NAME="ShowDateSelectors" VALUE="-1"><PARAM NAME="ShowDays" VALUE="-1"><PARAM NAME="ShowHorizontalGrid" VALUE="-1"><PARAM NAME="ShowTitle" VALUE="-1"><PARAM NAME="ShowVerticalGrid" VALUE="-1"><PARAM NAME="TitleFontColor" VALUE="10485760"><PARAM NAME="ValueIsNull" VALUE="0"></OBJECT><br><INPUT  name="button1" type="button" value= "提交时间" onclick="button1_onclick()">
     
    <script  language="javascript">
    <!--
    function button1_onclick(){
        strDate=Calendar1.Year+"年"+Calendar1.Month+"月"+Calendar1.Day+"日";
        text1.value=strDate;
        
        opener.doeument.Test.txt1.value=strDate;
        self.close();
         }
    //-->
     </script></BODY>
    </HTML>
      

  8.   

    doeument拼写错误,应为document
    修改后即可opener.doeument.Test.txt1.value=strDate;
    ==>
    opener.document.Test.txt1.value=strDate;
    :_)
      

  9.   

    真是汗颜了,再次谢谢moonpiazza