日期:2014-05-18  浏览次数:20683 次

JSP页的JS数组如何传递给另一个将弹出的JSP窗口?
原来问题是这样的:

info.jsp页里有一个select   s1,用户选中某个option后弹出窗口table.jsp

用户在窗口table.jsp中动态增加表格行(用js实现的),   这些添加进表格的数据被存进一个javascript   Array中

然后我调用
parent.opener.getArray(arrcat);         //将数组arrcat传回给父窗口
window.close();                                         //关闭窗口

info.jsp中接收数组并把数组元素生成另一个select   s2的option供用户选择

问题是:

用户对自己在弹窗table.jsp中添加的数据不太满意   想返回去修改
(这时窗口已经关闭了,并且在selcet   s1中如果用户切换到其他option将清空以前s2   中option的数据)

我想再增加一个“修改”的button(想再修改的话点这个又弹出table.jsp)
怎么把info.jsp接收到的这个arrcat数组传递给table.jsp以便给它初始化,方便用户修改?

        请一并说说   传递过程中   是否需提交   和   页面是否会刷新,最好能有几句代码,谢谢谢谢啊


------解决方案--------------------
我不是太明白您的意思。我按照我的理解给一个方法,你可以试试。
就是用一个隐藏的form中存储数组中的值,例如:
<form method= "post " action= "table.jsp " style= "display:none; ">
<textarea name= "arrayValue "> </textarea>
</form>
当你执行操作的时候将数据也同步保存到这个textarea中,每个值之间用_号隔开(你也可以用其他的,其他的数据中肯定不会出现的,如:a2m3dm12),当然,你得用一些方法将原数据中的_替换。
在table.jsp中再将这个值解析回来就可以了。
------解决方案--------------------
可以借助后台吗?如数据库或者xml保存,,此方法笨了点.....
------解决方案--------------------
url=table.jsp?param=xxx_XXX_XXX_XXX_XXX

window.open

然后解析
------解决方案--------------------
info.jsp添加一段代码
<input type=hidden name=param value= " ">

你的getArray(arrcat)
添加一段代码负责把数组转成String 赋给param


------解决方案--------------------
可以提供一个假的提交页面,给客户的感觉是已经提交,如果客户要修改就可以轻松的退回,到最后要提交的时候再进行提交,具体的实现可以通过隐藏要提交的控件
或是提供一个客户确认的页面,显示客户选择的项的信息,客户最终确认后再提交,否则可以退回到修改页面进行修改