尝试重置“select-one”对象值时发生Javascript错误

时间:2011-11-24 08:11:51

标签: javascript

我正在尝试重置表单中所有元素的值 使用以下javascript函数

function doResetAction(formName)
{
        var form2 = eval("document.formNameNativ");
        var frm_elements = form2.elements;
        var count=0;
        for(i=0; i<frm_elements.length; i++)  
        {   
            field_name = frm_elements[i].name.toLowerCase();
            field_type = frm_elements[i].type.toLowerCase();                    
            if(field_name == 'startofac')
            {
                count=i;        
            }
        }
        for(j=count; j<frm_elements.length; j++)  
        {
            field_name = frm_elements[j].name;
            field_type = frm_elements[j].type.toLowerCase();     
            switch (field_type) {
                 case "text": 

                 if(document.getElementById(field_name).value !=null)
                        document.getElementById(field_name).value = document.getElementById(field_name).defaultValue;
                  break;            
                case "select-one":  


                if(document.getElementById(field_name).value !=null)
                        document.getElementById(field_name).value = document.getElementById(field_name).defaultValue;
                break;
              }
        }
}

当类型是文本但由于某种原因给出错误时,它工作正常 select-one。有人可以帮助我吗? 我在select-one得到的错误是

Error: document.getElementById(field_name) is null
At line: 679

1 个答案:

答案 0 :(得分:1)

尝试检查 -

 if(document.getElementById(field_name) !=null)

在您的案例陈述中,而不是 -

 if(document.getElementById(field_name).value !=null)

我怀疑如果一个对象为null,它将没有value属性,这就是造成错误的原因。