我正在使用mootools在我的一個表單中切換兩個DOM元素的顯示(和存在)。然後,我使用javascript來驗證表單以確保填寫了所有必填字段。問題是瀏覽器似乎在緩存元素。例如,我有HTML這樣的:JavaScript是否緩存DOM元素?
<input name="inputbox" id="inputbox" type="text" />
<select name="selection" id="selection">...</select>
並進行驗證的JavaScript是這樣的:
if (form.inputbox != null && form.inputbox.value == "") {
//don't submit form
{
else if (form.selection != null && form.selection.value == 0) {
//don't submit form
}
現在,這工作正常第一次加載頁面時和input
因素是除去。然而,當我點擊替換與select
元素input
元素,從此按鈕上的JavaScript代碼form.inputbox
和form.selection
遏制,因爲它是在DOM其最後的狀態相應的元素 - 即使它不再DOM。那麼JavaScript是否會緩存DOM,並且在從DOM中刪除元素時不更新這些元素?這裏發生了什麼,更重要的是,我該如何解決它?
編輯:我正在使用mootools來刪除和替換元素,可以找到相應功能的文檔here和here。
您使用什麼代碼從DOM中刪除輸入? – 2009-02-13 06:21:52
顯示和存在是不同的...... – alex 2009-02-13 06:22:57