2016-11-05 123 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),這不是使用它們的最佳實踐,所以通過爲表示層使用最新的前端技術堆棧來避免它們。