我正在使用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