免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5400 | 回复: 4
打印 上一主题 下一主题

两个页面用js传递参数的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-07 11:17 |只看该作者 |倒序浏览
有两个页面,是嵌套关系,例如a页面中iframe的形式嵌套b,在a中定义了一个标签:<div id="print_body" style="display:none"></div>,b页面加载的时候会取到传给a的值,b中赋值如下:window.top.content.document.getElementById("print_body").innerHTML = "$printbody"; $printbody是个变量。
需要实现的功能就是将b中获取的参数$printbody值传递给a。
遇到的情况:当$printbody内容很少的情况下,这样是没问题的,能正常传递,但是当$printbody内容很长的时候,b页面会报缺少对象的js错误,而且值也无法传回。
我试过将div改成span,textarea都不行,有高手指点一下吧,或者能有其他方法实现这个功能么?
部分代码列表
a:
<html>
。。。。
function printbody()
{
alert(document.getElementById('print_body').innerHTML;
}
。。。。
div id="print_body" style="display:none"></div>
</html>
b:
<html>
。。。。
function loadbody()
{
window.top.content.document.getElementById("print_body").innerHTML = "$printbody"
}
。。。。
</html>

论坛徽章:
0
2 [报告]
发表于 2008-01-07 11:41 |只看该作者
你有没有这样试验过,在b里面吧变量传给一个input,然后再a里面再b或a 里面写getElementById("print_body").innerHTML = hidden.value

论坛徽章:
0
3 [报告]
发表于 2008-01-07 14:16 |只看该作者
找到问题了,因为$printbody的内容中有回车,所以window.top.content.document.getElementById("print_body").innerHTML = "$printbody";赋值的时候就报错了,例如:
window.top.content.document.getElementById("print_body").innerHTML = "aabb";这样就没事,但是
window.top.content.document.getElementById("print_body").innerHTML = "aa
bb";这样就会有问题,js中不允许折行么?好像alert("aa
bb"); 也不行

论坛徽章:
0
4 [报告]
发表于 2008-01-07 14:32 |只看该作者
  1. \n
复制代码

论坛徽章:
0
5 [报告]
发表于 2008-01-07 16:35 |只看该作者
我现在用textarea解决了这个问题,但是新的问题又出现了,因为$printbody的值是不自动换行的,内容有多长一行就多长,这样在调用window.print()的时候就无法打印全,这个问题怎么解决呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP