js

js中 在父窗口中window.open(子窗口)
 子窗口中包含几个文本框。(不能为空)
问? 如何将子窗口中的值传递给父窗口,,组后一起提交给servlet

解决方案 »

  1.   

    window.open("test.html?uid=beijing&uname=北京");
    test.html中接收信息:
    String uid = request.getParameter("uid");
    String uname = request.getParameter("uname");
      

  2.   

    在子窗口中你可以
    window.opener.form1.name.value设置或取得父窗口中的值。

    window.opener.form1.name.value="333"或
    var name=window.opener.form1.name.value;
    这样就可以在子窗口中操作父窗口中的值了,都能得到了,还怕不能提交吗???
      

  3.   

    我的意思是说.在子窗口的文本框中填写的信息(用户填写,不是预先定义的 ) 如何 传递到父窗体中然后 将子窗体和父窗体的值一并传递到servlet中 
      

  4.   

    用我说的就可以啊,你打开了子窗口后,输入了一些东西,那么在关闭之前把输入的数据放到主窗口的隐藏域里啊<input type="hidden" name="subName"/>
    你在子窗口中可以这样window.opener.form1.subName.value=form2.username.value;
    form2是子窗口中的form,form1是父窗口中的form
      

  5.   

    test.html
    <html>
    <head>
    <title>Insert title here</title>
    </head>
    <body>
    <form name="testForm">
    <input type="text" name="name" id="nameField" value="ddd" />
    <input type="button" name="submit" value="test" onclick="window.open("./action.jsp");" />
    </form>
    </body>
    </html>action.jsp
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <html>
    <head>
    <title>Insert title here</title>
    </head>
    <body>
    <%
        String tmpStr = String.valueOf(Math.random());
    %>
    <script type="text/javascript">
        window.opener.document.getElementById("nameField").value= "<%= tmpStr %>";
        window.close();
    </script>
    </body>
    </html>
    或者用用window.showModalDialog来传值