2016-11-05 87 views
2

我需要读取一个变量,然后必须在onclick()后将其作为参数传递给函数。 我使用JSP,所以我读书用小脚本如何将scriptlet变量传递给onclick()函数调用javascript

<% int lateRegDays = 6;%> 

我传递的变量作为

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

但是,我无法通过的valueOf 6串“<%变量= lateRegDays%>“被传递给函数。但是,当我尝试使用警报打印该值时,它工作正常。我做的是改变,

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

在类似的方式,我需要知道,如何通过我的所有参数与此小脚本变量起作用。整个代码片段是:

<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> 

我需要这方面的帮助,因为我stuckand我不知道如何传递多个参数用小脚本变量

回答

1

Scriplets将生成的HTML内容时,浏览器一起加载JSP页面,所以如果你想使用它您的JavaScript里面,你需要捕获在页面加载时间如下lateRegDays变量:

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

PS:Scriplets是遗留代码(在早期的发明2000),这不是使用它们的最佳实践,所以通过为表示层使用最新的前端技术堆栈来避免它们。