日期:2014-05-16  浏览次数:20360 次

错误消息: 'options[...]' 为空或不是对象
function loadMonth(){
var s=document.getElementById('month');
var month=s.value;
s.options.length=0;
var year=document.getElementById('year').value;
var myDate2=new Date();
var start=12;
if(year==myDate2.getFullYear()){
start=myDate2.getMonth();
start=parseInt(start,10)+1;   //转换
}
for(var i=start;i>0;i--){
s.options.add(new Option(i,i));

}
if(month<=start){
var flag=start-month;
********* s.options[flag].selected = "selected";
}
};
这段代码在IE上运行会报标题的错误(“**”处)。因为这是三个onload()事件中的第二个,这里报错后,后面一个就不运行了。然而单击运行后,报错误处的语句是起作用的,可以设置特定的option是选中的,但浏览器就是认为是错的(其他浏览器也认为是错的,360,ff)。希望大家帮忙解决下。
select option html javascript

------解决方案--------------------
LZ检查下FLAG值,是不是超出下标了?
------解决方案--------------------
下标index 一般都是从 0 开始的
------解决方案--------------------
alert(s.options[flag])  弹出来看一下。
------解决方案--------------------
flag 不在options 里
------解决方案--------------------
单步调试一下看看