下面这段代码会有问题
<a href="javascript:form_submit(<%=i %>, '<%=person.get(BlackBerryApplication.getString("blackberry_result_col_1"))%>')">如果'<%=person.get(BlackBerryApplication.getString("blackberry_result_col_1"))%>'的值为O'hare, Cathleen B,则会出现js error,因为javascript:form_submit(0, 'O'hare, Cathleen B');我现在打算加个js method:
function addslashes(ch){
return ch.replace(/\'/g, "\\'");
}但是不知道用什么事件来调用addslashes("<%=person.get(BlackBerryApplication.getString("blackberry_result_col_1"))%>").
我发现<body onload=>不能读取person。
求解,谢谢!

解决方案 »

  1.   

    路子不对。后台生成的网页内容不对,你在前台用JS做,不管用的。你试下在后台转义下:
    org.apache.commons.lang.StringEscapeUtils.escapeJavaScript(person.get(...))不管感觉你的网页的整体组织就挺乱的。
      

  2.   

    have a try
    <a href="javascript:form_submit(<%=i %>, addslashes('<%=person.get(BlackBerryApplication.getString("blackberry_result_col_1"))%>'))">
      

  3.   

    在后台转义
    O'hare, Cathleen B替换成O\'hare, Cathleen B。