如何传递一个scriptlet变量到onclick()函数调用javascript



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

读取变量
<% int lateRegDays = 6;%>

我将变量作为

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

但是,我无法传递6的值。字符串"<%=lateRegDays%>"正在被传递给函数。然而,当我尝试使用alert打印值时,它工作了。我所做的改变是,

onclick='<%="alert("+lateRegDays+")"%>'
以类似的方式,我需要知道如何将所有参数传递给使用这个scriptlet变量的函数。整个代码片段为:
<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变量

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>

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

最新更新