gsp,groovy,encodeURI组件,内联javascript

时间:2013-03-28 12:22:28

标签: javascript groovy escaping encode gsp

我对每个循环都有问题

我有一个选择,你选择一个选项,按一个按钮,所选的值通过ajax作为encodeURI组件发送到后端,答案更新为ul:

<g:each in="${items}">
<li class="${fieldName}_item" >${it}<span onclick="deleteItem('${fieldName}','${id}','${reloadForm}', '${it}');" class="editdropdel ${fieldName}_button"></span></li>
</g:each>

只要${it}包含特殊字符,例如“”“”,内联内容就会被破坏,

有这样的可能吗?

onclick="deleteItem('${fieldName}','${id}','${reloadForm}', 'encodeURIcomponent(${it})');"

我只是不明白

提前感谢

1 个答案:

答案 0 :(得分:1)

${it}包含"时,这会中断,因为这实际上意味着onclick属性的值会在第二个"出现时终止。

encodeURIComponent当然不能帮助你,因为它“来得太晚了” - 你不能调用JavaScript方法来修复损坏的HTML代码。

您想要的是将"重写为&quot; - 以便它不会终止属性值。您的模板语言中使用哪种方法 - 请参阅文档。