使用Javascript / IE6进行奇怪的复选框行为

时间:2010-11-29 13:16:33

标签: javascript internet-explorer-6

这是一系列事件:

1)有一个可见的HTML复选框,用户选中或取消选中框

2)通过将显示设置为无

,通过javascript隐藏HTML复选框

3)通过将显示设置为阻止

,可以通过javascript看到HTML复选框

4)用户的选择将恢复为复选框的默认值,例如,如果首先使用“checked = checked”呈现复选框,并且用户取消选中此框,则会返回进行检查。如果未使用选中进行渲染,并且用户选中该框,则会返回到未选中状态。

当用户打开我的网络应用的另一部分时,隐藏该复选框。但是当他们回去时,复选框不应该改变......愚蠢的IE6 ......无论如何要解决这个问题?

我甚至尝试添加一个onclick函数,它有效地重新创建一个新的复选框对象,销毁奇数并替换它。这也不起作用。此外,它不能很好地工作,因为当复选框没有变化时它不会停止这种行为。

2 个答案:

答案 0 :(得分:1)

您是否在脚本中的任何位置写入innerHTML?例如,如果您在祖先元素上说element.innerHTML+='x',它将销毁并重新创建祖先的整个内容,这将丢失非HTML可序列化的内容,包括表单字段状态。

否则,仅在复选框上设置display不应影响其检查(在IE6中不适用于我)。但是,将display直接设置为block是值得怀疑的,因为这不是复选框的正常显示值。为避免担心各种浏览器的默认复选框显示值,请使用CSS:

.hidden { display: none; }

并通过添加和删除className= 'hidden'来切换隐藏状态和显示状态之间的复选框。

答案 1 :(得分:-1)

我不确定,但显示无法重置IE6上的复选框。

我从未尝试过,我没有IE6可以测试。