2012-05-21 120 views
0

好的,我在这里没有想法。我有一些前段时间显然由某人编写的JavaScript。总之,有一个按钮调用JS函数。该功能是删除之前添加的表单字段。它适用于IE 8及更高版本,但不适用于IE9或FireFox。该功能是:删除动态添加的表单域

function remove(salNum) { 

    var fld 
    fld = document.getElementById('salary' + salNum); 
    fld.value = 0; 

    document.forms[0].submit(); 

} 

在Firebug控制台输出提供了与错误:

fld is null 
fld.value = 0; 

我缺少什么?

+0

那怎么调用这个函数?此外,你声明变量,然后有一个新行,然后重新声明变量...是不是一个语法错误? –

+0

不确定这只是一个错字,但是您在定义fld变量后缺少分号。 – j08691

+0

David - 从表单按钮调用它:');” value =“Remove”id =“Button3”name =“Button3”/> – Ryan

回答

1

尝试这种情况下,你正试图删除已经被删除的元素或HTML已经改变:

function remove(salNum) { 

    var fld 
    fld = document.getElementById('salary' + salNum); 

// check for element existance 
if(fld) fld.value = 0; 

    document.forms[0].submit(); 

} 
+0

虽然它不再在FireBug中引发错误,但它仍然不起作用;但是,它仍然在IE8中工作。 – Ryan