在javascript函数中传递大字符串

时间:2011-07-10 13:10:03

标签: javascript jsp

我在jsp中使用3个帧,一个帧包含事务的链接。如果单击链接,我需要在相应的帧中显示2 xmls(作为字符串)。

<display:table name="sessionScope.transactions" id="tTable">
  <display:column title="Transaction Id">
  <a href="javascript:somejavascript('<bean:write name='tTable'        
  property='requestXML' />','<bean:write name='tTable' property='responseXML' />');">

  <bean:write name='tranTable' property='transactionId' />

 </a>
</display:column>*

我想在带链接时完全带来evrything,当我点击链接时我想将这些xmls作为字符串传递给javascript函数并将其显示在框架中。

somejavascript(req, resp){
  parent.frame2.location.href = req;
  parent.frame3.location.href = resp;
}

但我知道我无法在javascript函数中传递大数据,它打破了一些javascript规则。这个问题有解决办法吗?

1 个答案:

答案 0 :(得分:2)

你应该平衡你的报价并逃避内部报价。

http://jsfiddle.net/9qdkc/

总的来说,您的方法不合适。避免使用javascript:链接。


如何改进?

将您想要传递给JavaScript函数的数据作为单独的节点呈现,并为此节点分配唯一的ID。

然后将具有此ID的属性添加到链接节点。

现在,迭代单独的 JavaScript文件中的所有此类链接,并add click event listeners

在这些侦听器的处理程序中,分析所单击链接的ID属性,并使用DOM / E4X遍历文档以查找具有相应ID的节点。