select标记的document.getElementById在IE中给出了对象错误

时间:2012-12-11 06:11:02

标签: javascript internet-explorer

我的HTML和Internet Explorer中有一个select标记,当从JavaScript函数调用它时会发生错误。

这是html创建选择框 -

 <select id="item1" name="Item 1" onchange ="fn();">  
    <option value="0">Please select gender</option>    
    <option value="1">Male</option> 
    <option value="2">Female</option>  
 </select>    

选择onchange事件的函数 -

function fn()
{   
    var s = document.getElementById('item1');  
    if(s!= null)  
    {  
       alert('not null')  //if object not == null  
    }  
}   

这是我在IE中遇到的错误 -

Message: Object expected  

1 个答案:

答案 0 :(得分:1)

为什么你得到了domNode,如果它已经激活了这个函数?如果domNode是onChange(不存在),那么null根本不会被解雇吗?

这个怎么样:

<强> HTML

    <select id="item1" name="item1" onchange ="fn(e);">  
       <option value="0">Please select gender</option>    
       <option value="1">Male</option> 
       <option value="2">Female</option>  
    </select> 

<强> JS

    function fn(event) {
       // FF, Safari etc..
       if(event.target) {  
           alert('fn() fired by ' + event.target.id)
       }
       // IE
       else if(event.srcElement) {
           alert('fn() fired by ' + event.srcElement.id)
       }
    }