你去看一些聊天室的代码,应该对你帮住很大另外难道你打开1.jsp后就直接往数据库写数据,不需要按扭触发?

解决方案 »

  1.   

    alickma(零缺点):  我打开1.jsp后,需要通过一个按钮来提交的
      

  2.   

    用showModalDialog好像不能刷新父窗口,
    当然或许我不知道。如果用window.open倒是很好实现楼主的想法。
      

  3.   

    1. 在主窗口中写这么个javascript函数用来打开1.jsp:
    function open1jsp(){
     var flag=window.showModalDialog('1.jsp'',InfoArray,"status:no"));
     if (flag!=null && flag=='reload') {
          //刷新主窗口
     }
    }2. ‘1.jsp’用button提交,当java执行完数据存储后给‘1.jsp’页面返回一个标志,在‘1.jsp’中判断得到这个标志后就关闭这个页面,
    关闭的方法为:
    <%
    if (myPageForm.getMessage().equals("success")) {
    %>
    window.returnValue='reload';
    window.close();
    <%
    } else {
    if (sp_myPageForm.getMessage().equals("fail")) {
    %>
    alert('保存失败');
    <%
    }
    }
    %>
      

  4.   

    用showModalDialog也可以实现.也不是刷新,是把showModalDialog里的数据弄到父窗口里.
    要实现这个功能是没有问题,做过类似的.代码我没有,javascript我也不熟悉,以前就是search and copy:)
      

  5.   

    谢谢各位,我通过一些方法基本实现了上述功能,如下:在main.jsp中,加入如下代码:
    window.name = "myWindow";
    var mxh1 = new Array("")
    window.showModalDialog("1.jsp",mxh1,"status:no")在1.jsp中,加入如下代码:
    function submit_form(){
        document.form.submit();
        window.close();
    }
    <form name = "form"  target="myWindow"  action="submit_1.jsp" ......
        ....
    </form>在submit_1.jsp中,加入如下代码:
    <%
        //做数据库处理    response.sendRedirect("main.jsp");
    %>虽然很曲折,但是好象实现了这个功能