【问题标题】:How to pass a scriptlet variable into onclick() function call to javascript如何将 scriptlet 变量传递给 onclick() 对 javascript 的函数调用
【发布时间】:2016-11-05 21:07:34
【问题描述】:

我需要读取一个变量,然后必须在 onclick() 之后将其作为参数传递给函数。 我正在使用 JSP,所以我正在使用 scriptlets 读取变量

<% int lateRegDays = 6;%>

我将变量传递为

onclick="displayDatePicker('startTestAdminNo','mdy',<%=lateRegdays %>,120,0,3);"

但是,我无法传递 6 的值。字符串“”正在传递给函数。但是,当我尝试使用警报打印值时,它起作用了。我所做的改变是,

onclick='<%="alert("+lateRegDays+")"%>'

以类似的方式,我需要知道如何将我的所有参数传递给这个 scriptlet 变量。整个代码sn -p是:

<td><input name="startTestAdminNo"></td>
  <td>
        <chtml:img srcKey="order.calendar.search" onclick="displayDatePicker('startTestAdminNo','mdy',<%=lateRegdays %>,120,0,3);"
            altKey="order.calendar.alt_search" bundle="prompt" />
  </td>

我需要帮助,因为我被困住了,我不知道如何将多个参数与 scriptlet 变量一起传递

【问题讨论】:

    标签: javascript jsp


    【解决方案1】:

    Scriplets 将在浏览器加载 JSP 页面时生成 HTML 内容,因此如果您想在 javascript 中使用它,您需要在页面加载期间捕获该 lateRegDays 变量,如下所示:

    <script>
    var lateRegDays; <!-- global variable -->
    function init() {
    lateRegDays = '<%= lateRegDays %>';
    }
    function  displayDatePicker(...) {
      // Get the lateRegDays var
    }
    </script>
    <body onload="init()">
    <!-- your code -->
    </body>
    

    P.S.:Scriplets 是遗留代码(由 Sun 于 2000 年初发明),这不是使用它们的最佳实践,因此请使用表示层的最新前端技术堆栈来避免它们。

    【讨论】:

      猜你喜欢
      • 2019-01-12
      • 2018-05-03
      • 1970-01-01
      • 2019-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-21
      • 1970-01-01
      相关资源
      最近更新 更多