2012-05-21 166 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