gsp下拉值返回NaN在IE7文档模式(javascript)

gsp dropdown value returned as NaN in IE7 document mode(javascript)

本文关键字:模式 文档 javascript IE7 返回 NaN gsp      更新时间:2023-09-26

我正在通过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>

Html代码:

<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没有定义?