进销存系统作业(JSP)。 在进行入库操作时,入库单可能有多条记录--每条记录对应一种科目类别。 
类别有很多,所以要在另一个页面列示进行选择,然后把选择的科目传入入库单页面。 暂时叫入库单页面为a.jsp,科目选择页面为b.jsp; 不是简单的页面之间传递参数,而是在a.jsp中点击浏览按钮,弹开b.jsp,在b.jsp中选择科目并关闭b.jsp,把选中的参数传递给a.jsp; 
1.在这个过程中,a.jsp是不关闭的。 
2.b.jsp关闭后,a.jsp接收参数并自动添加选择的项目; 
3.a.jsp自身不能刷新,因为这样的选择添加可能会有多次,如果刷新则先前选择添加的科目都会丢失了; 
4.是不是需要用到js?

解决方案 »

  1.   

    应该不用Ajax就可以实现吧。当年Ajax没出世的时候好像就有这种效果了吧。不会Ajax的说。
      

  2.   

    好难啊,帮你顶一下吧。
    为什么不在点击浏览按钮的时候把前面添加的科目先保存到db,然后页面再跳转到b,这样选择好科目,再跳回到a页面,这样也能实现你要的功能啊。为什么一定要这么复杂,让a一直打开着呢?
      

  3.   

    用js就可以实现
    父窗口用一个或几个隐含变量,在子窗口里赋值。
    parent.form.xxxx.value = xxxxxxxx;
      

  4.   

    这些和jsp无关,完全是客户端的事情,用js可以实现。在b.jsp中可以用parent指向a.jsp,同楼上讲的一样对a.jsp的值进行刷新。
      

  5.   

    JS里这么写
    function showpage(ps){

    var w=630;
    var h=495;
    var t=(screen.availHeight-h)/2;
    var l=(screen.availWidth-w)/2;

    window.open(ps,"OAMAIN","fullscreen=0,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=" + w + ",height=" + h + ",top=" + t + ",left=" + l + " ",true);
    }跳转的超链接这么写
    String href5="user_fundlist.jsp?submitt=明细"+"&nAccountId="+gt_nAccountId;
    <a href="" class="white1" onclick="showpage('<%=href5 %>')">
      

  6.   

    Ajax是很早的东西啊,只不过很早以前没人这样叫。
    就像以前不流行“用户体验”的说法,我一直说"很人性化"的。
      

  7.   

    function NameCheck(value)
    {
    document.form1.txt.value=value;

    }
    这个方法放在a.jsp里面
    function setInfo()
    {
    window.opener.NameCheck(选择科目);
    window.close();
    }
    这个方法放在b.jsp里面,你试一试,肯定可以的
      

  8.   

    1.window.showModalDialog 
    2.window.returnValue
    3.document.createElement 
    4.appendChild
      

  9.   

    <!--父页面-->
    <form name="frm" method="post" action="">
    <input name="test" type="text" value="测试"/>
      <input type="button" name="button" value="提交" onClick="openNew('a.htm');">
    </form><!--a.htm-->
    <input type="button" name="关闭" value="close" onclick="closeWinsow()"/>
    function  closeWinsow()
    {
    window.opener.frm.test.value = "^_^哈哈";
    window.close();
    }
      

  10.   

    function openNew(str)
    {
    window.open(str);
    }