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

问个window.open取值的问题
小弟做个项目,在主页面用到window.open( '子页面 '),但是在主页面中有一些checkbox,我想在子页面取到,然后形成报表,请问怎么取
原来的的思路,是把主页面的checkbox中的值拼个字符串传到子页面,然后子页面取,但是,主页面这个checkbox的值有的时候狠多,500个到1000+的狠正常,所以,感觉有的时候只能取一部份,应该是传的值大小有限制吧,每个值的格式为1234567890,而在open的页面上取不到getParameterValue(),现在小弟不会拉,请各位大侠指点一二,不胜感激

------解决方案--------------------
如果用GET传的话,好像浏览器传的数据上限为几MB 了
如果这样,按照楼主所说的值格式,应该不会超过上限吧。

其它你不去传值给子页面啊,就在子页面用window.opener.document
可以取出父页面的数据。
------解决方案--------------------
你在进入到子页面的时候都想得到什么的参数?
我有一点不太明白的地方就是checkbox怎么会选中那么多子串。
------解决方案--------------------
飘过
------解决方案--------------------
checkbox是同名的话(如名为ckb):
var ckbs=window.opener.document.getElementsByName( 'ckb ');
ckbs[0].checked 就是第一个是不是被选中
ckbs[1].value 就是第二个的值

-----------------------------------------------
我做的网站(www.ju1ju.net)聚会策划助手
有时间帮我测试一下,非常感谢!

特点:自动通过邮件/手机短信/msn/qq联系朋友
架构:webwork2 spring ibatis tomcat5.5 mysql ajax javascript
------解决方案--------------------
我的项目里是这样写的:
var abc;
abc = window.opener.document.forms[0].elements[element名].value;
------解决方案--------------------
大家说的其实都是对的,就一句话window.opener.document通过这样获取父画面的数据。但是我想大家是不是楼主的困难在哪里。
所以,我想请搂主说清楚点,
——————————————————————————
window.opener.document
没用啊 ,那个是JS的,我取的数据要进行数据库操作的,那个取不出来值,如果父页面的值200多还没有什么问题,但是不知道为什么要是500多的话,只能取到300多点数据,后面的都没了
——————————————————————————
你说的数据库操作究竟是什么时候,是子页面初始化的时候,还是子页面提交表单的时候,你说清楚了,我向大家知道你困难所在,问题也就好解决了。



------解决方案--------------------
用表单啊,在 <form action= ".. " target= "_blank ">
这样点提交的时候他会弹出新的窗口啊,就不需要你用window.open()了,而且在新的页面里可以使用request.getParameter()嘛,其它操作就外甥打灯笼---照旧(舅)嘛