【问题标题】:grails gsp javascript integration, how to escape variables?grails gsp javascript集成,如何转义变量?
【发布时间】:2011-10-11 00:32:33
【问题描述】:

我有一个 gsp 页面(模板),我需要在其中包含一些 javascript。在下面的示例中,我如何让 remoteFunction 理解,moneyTransId 将由 javascript 函数设置? MoneyTransId 在警报中显示正常,但我无法让它在 remoteFunction 中工作,显然需要以某种方式对其进行转义。

<script type="text/javascript">
function confirmVoid(moneyTransId) {
   var r = confirm("Please confirm the void");
   if (r == true) {
        alert("ID is: " +moneyTransId);
        ${remoteFunction(action:"voidTransaction", id:moneyTransId)};
          ...

【问题讨论】:

    标签: javascript grails


    【解决方案1】:

    使用以下语法:

    ${remoteFunction(action:'voidTransaction', params:'\'id=\'+moneyTransId')};
    

    这样,您就不会将服务器端代码与客户端代码混为一谈。 希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      服务器端变量和语句无法读取客户端 (javascript) 变量。 服务器端代码首先运行,然后生成 html 和 javascript 并发送到客户端(浏览器)。然后浏览器呈现 HTML 并运行 javascript。希望这有助于您的思考过程。 德米特里。

      【讨论】:

      • 感谢 DmitryB。请注意,我只想让 remoteFunction 单独留下 moneyTransId,就像在警报中单独留下 moneyTransId 一样。这样,当 confirmVoid 函数运行时,moneyTransId 的值可以在 remoteFunction 扩展的任何内容中设置。这有意义吗?
      • 我想我明白了,但是您不能从 javascript ID 在 remoteFunction 中设置 moneyTransitId。它必须是字符串文字:尝试 'moneyTransId'
      • 是的,我做到了,还有一些我能想到的其他变化。没有骰子。为什么不能让变量“通过”到javascript函数?
      猜你喜欢
      • 2011-11-18
      • 2013-09-07
      • 2011-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多