我正在尝试重置表单中所有元素的值 使用以下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
答案 0 :(得分:1)
尝试检查 -
if(document.getElementById(field_name) !=null)
在您的案例陈述中,而不是 -
if(document.getElementById(field_name).value !=null)
我怀疑如果一个对象为null,它将没有value
属性,这就是造成错误的原因。