【问题标题】:gsp, groovy, encodeURI component, inline javascriptgsp、groovy、encodeURI 组件、内联 javascript
【发布时间】:2013-03-28 12:22:27
【问题描述】:

每个循环都有问题

我有一个选择,你选择一个选项,按下一个按钮,选定的值通过 ajax 作为 encodeURIcomponent 发送到后端,答案更新这个 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})');"

我就是不明白

提前致谢

【问题讨论】:

    标签: javascript groovy escaping encode gsp


    【解决方案1】:

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

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

    您想要的是将" 重写为&amp;quot;——这样它就不会结束属性值。对于在您的模板语言中使用哪种方法 - 请查阅文档。

    【讨论】:

    • 是的,这就是我的问题,在将它们分发到渲染视图之前,我如何才能在 groovy 控制器中实现我的 ArrayList“项目”?
    • 好的,没有出路,我必须使用 JSON 重建整个事情,但无论如何感谢您的支持
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 2017-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多