已解决:}
在 Javascript 中徘徊。Eclipse IDE 在 JSP 中不会检查这些。
我无法在我的 JSP 中调用我的 Javascript 函数。我在上面评论了哪些功能有效,哪些功能无效。我的目标是根据传递的参数预先选择我的下拉框。
<script type="text/javascript">
//this alert not working
alert('alert1');
function preloadDropdownBoxes() {
//preload function alert not calling
alert('preload function called');
//mapping vars to java variables
var sYear = '<%=sYear%>';
var collectionPeriod = '<%=collectionPeriod%>';
var submission = '<%=submission%>';
var availDate = '<%=availDate%>';
var openDate = '<%=openDate%>';
var closeDate = '<%=closeDate%>';
//these are time generated values based on calendar instance
var pastTwoYear = '<%=pastTwoYear%>';
var pastYear = '<%=pastYear%>';
var currentYear = '<%=currentYear%>';
var futureYear = '<%=futureYear%>';
//change selectedIndex values if dropdown in JSP has "pastTwoYear"
if (sYear == pastTwoYear) {
document.getElementById('pastTwoYear').selectedIndex = 0;
} else if (sYear == pastYear) {
document.getElementById('past').selectedIndex = 0;
alert(sYear + '0');
} else if (sYear == currentYear) {
document.getElementById('current').selectedIndex = 1;
alert(sYear + '1');
} else if (sYear == futureYear) {
document.getElementById('future').selectedIndex = 2;
alert(sYear + '2');
} else if(sYear == futureTwoYear) {
document.getElementById('futureTwoYear').selectedIndex = 3;
alert(sYear + '3');
}
} //end preLoadDropdownBoxes()
</script>
然后我有我的下拉框的代码。这是一个片段:
<select name="sYear1" id="sYear1" onchange="javascript:PreselectMyItem();">
<option value="past"><%=cal.get(java.util.Calendar.YEAR)-2%>-<%=cal.get(java.util.Calendar.YEAR)-1%></option>
<option value="current"><%=cal.get(java.util.Calendar.YEAR)-1%>-<%=cal.get(java.util.Calendar.YEAR)%></option>
<option value="future"><%=cal.get(java.util.Calendar.YEAR)%>-<%=cal.get(java.util.Calendar.YEAR)+1%></option>
</select>
现在,最后,我在底部有另一个脚本。我打算把我的preloadDropdownBoxes();
功能放在最后。我试过用过$(document).ready
,但没有用。代码如下:
<script>
// these two alert calls work
alert('footer');
alert('footer next');
// these functions aren't being called
window.preloadDropdownBoxes();
document.getElementById('future').selectedIndex = 2;
window.alert('document ready on bottom');
</script>
</body>
</html>
任何帮助将不胜感激!
编辑:我已经按如下方式制作了我的测试按钮,<input type="button" value="test" onclick="javascript:alert('test');"/>
并且此警报确实有效。文档似乎有问题,因为我尝试了 function test() { alert('hello'); 无法在我的脚本中注册函数。但是当按钮是:<input type="button" value="test" onclick="javascript:test();"/>