我正在通过javascript读取gsp页面的下拉列表的索引值。js函数可以在所有浏览器中工作,除了IE7文档模式。js在IE7 DOCMODE中返回值NaN。试了半天,就是找不到原因。非常感谢任何帮助/建议。复制js函数供参考。
<script>var encodedMonthRange = new Array();
<g:each in="${ReportService.RangeList()}" var="mRange">
encodedMonthRange.push('${mRange?.encodeAsBase64()}');
function encodeParams(){
var index =Number(document.getElementById("monthRange").selectedIndex);
alert("Index : " + index.toString());
var encodedVal = encodedMonthRange[index];
alert(encodedVal);
document.getElementById("monthRangeEncoded").value = encodedVal;
document.getElementById("historyOverview").submit();
}
<script>
<div class="fl" style="padding-right:20px;">
<g:select id="monthRange" class="lstBox autocolor autoWidth" from="${ReportService.RangeList()}"
valueMessagePrefix="filter" value="${params.monthRange}" onchange="encodeParams()" />
</div>
尝试添加.toString
呼叫:
function encodeParams() {
var index = document.getElementById("monthRange").selectedIndex;//index always number
alert("Index : " + index.toString()); //add to String call
var encodedVal = encodedMonthRange[index];
alert(encodedVal);
document.getElementById("monthRangeEncoded").value = encodedVal;
document.getElementById("historyOverview").submit();
}
注:可能是encodedMonthRange
没有定义?