我有一個表單將提交給Google Search Appliance,形成一個查詢字符串「q」。使用element.parentNode.removeChild(element)時無法刪除表單元素
在窗體中我有單選按鈕和一個隱藏的元素;單選按鈕包含用於選擇站點的選項;隱藏的元素包含多個網站,允許用戶選擇多個網站搜索。
<input type="radio" id="site_search" name="as_sitesearch" value="www.mycompany.com" checked>Current site<br />
<input type="radio" id="site_search" name="as_sitesearch" value="archive.mycompany.com">Archive site<br />
<input type="radio" id="site_search" name="as_sitesearch" value="">Both sites<br />
<input type="hidden" id="as_oqOption" name="as_oq" value="www.mycompany.com archive.mycompany.com">
這是JavaScript我寫的,將刪除無線電元件或專門的隱藏元素(其中一人可以在表單提交存在):
// IF THE USER CHECKED "BOTH SITES", YOU WILL HAVE TO WIPE OUT THE VALUE OF as_sitesearch TO ALLOW FOR PASSING OF as_oq FOR GOOGLE ENGINE
if (form.elements['as_sitesearch'][0].value.length == 0) {
var goodbyeElement = document.getElementById('site_search');
goodbyeElement.parentNode.removeChild(goodbyeElement);
} else {
var goodbyeElement = document.getElementById('as_oqOption');
goodbyeElement.parentNode.removeChild(goodbyeElement);
}
然而,當提交表單時,無論我點擊什麼廣播選項,「q」都會收到廣播和隱藏元素。
不知道爲什麼會發生這種情況,因爲我遵循DOM教程網站中的指南,我已閱讀了如何在提交之前刪除表單元素。有任何想法嗎?
感謝
多個元素不能共享相同的ID。 – Ryan
謝謝,我做了所需的ID修改,不幸的是,同樣的問題仍然存在。無論是廣播還是隱藏的元素同時存在於表單提交中,即使其中一個或另一個應該已被銷燬 – user1544358