調用getElementById()
以檢索表單上的「隱藏」字段返回null
。無法從getElementById獲得輸入類型=「隱藏」
我已經研究過其他SO問題,許多人在調用getElementById()
時使用隱藏字段的'名稱'而不是'id',或者在實際的html之前在腳本頂部執行getElementById()
,隱藏字段已被瀏覽器處理。這兩個錯誤都可以解釋爲什麼getElementById()
爲他們返回null
。
我可能是錯的,但我不認爲這是我的情況。
這是我的形式:
<form name="theDeleteItemForm" id="deleteItemForm" action="deleteTheSelectedItem"
method="post"
<input type="hidden" id="theHiddenField" name="deleteThisSelectedItem" value="">
</form>
這裏是一個Javscript處理程序,它成功執行上被點擊的頁面時,「刪除」按鈕(我可以告訴大家,因爲我alert()
盒在處理程序以下功能如雨後春筍般冒出):
function deleteItem()
{
alert("Just entered deleteItem()");
var theFieldToDelete = document.getElementById('theHiddenField');
// THIS IS THE PLACE WHERE I FOUND THAT 'theFieldToDelete' WAS 'null'
alert("Just got the hidden field element, which is: " + theFieldToDelete);
// THIS DOES NOTHING MORE THAN TO PREVENT THE 'alert' THAT FOLLOWS FROM APPEARING
theFieldToDelete.value = "upForDeletion";
alert("deleteItem() was called, about to submit the form");
document.theDeleteItemForm.submit();
}
我不理解爲什麼我得到getElementById()
的null
回報。我的印象是 getElementById()
適用於type="hidden"
字段的FINE。
此外,我用於我的隱藏字段的ID - theHiddenField
- 在我的文件中是100%唯一的。
當我試圖通過getElementById()
獲得隱藏字段時,爲什麼我會收到null
?
疑問,這是原因,但你的''標籤不被關閉。開頭的'
修復你的HTML,這應該正常工作。 – 2012-03-04 22:03:55
並確保您的ID是唯一的 – mplungjan 2012-03-04 22:10:09