IE9复选框状态更改表单提交后退按钮未显示正确状态

时间:2014-02-26 23:33:30

标签: javascript jquery checkbox internet-explorer-9

我有一个带有几个复选框的表单。每次我检查/取消选中一个框表格都会被提交。相关代码:

$("input[name='checkboxgroup']").bind("click",function(e) {
     e.preventDefault();
...
...
     form.submit();
});

然而,当我点击IE9上的后退按钮时,它会显示我的所有复选框仍然被选中(预期:最后一次选中复选框,然后才能取消选中后退按钮)

每当页面重新加载时,后端都会发送数据以选中/取消选中复选框。我已经验证在“返回”按钮确实处于“未选中”状态之前单击了最后一个复选框。但是,不知何故,IE9将此复选框设置为已选中。

修改

我做了一些快速检查:

我没有选中复选框

我在e.preventDefault()语句之后在开发工具调试器中暂停...但在submit()之前检查传递给后端的状态。

在开发工具控制台中,我检查$("#checkboxId").attr("checked")以验证我看到的状态

我观察到的内容

verify $("#checkboxId1").attr("checked") =  undefined ...(expected as the box is not checked) --> 

check this checkbox ---> hits debugger break point ---> 

verify $("#checkboxId1").attr("checked")  is "checked" (as expected) ...but the browser shows checkbox not checked (also expected..preventDefault effect) --> 

request goes to backend --> reloads page --> 

verify $("#checkboxId1").attr("checked") is checked(as expected) --> 

checkbox is now checked (perfect)

...现在问题是:

完成上述步骤...如果我点击后退按钮

我的期望:应该显示未选中的复选框1

实际结果:它仍显示已检查。

  

在其他浏览器中:FF,Chrome,Opera,Safari按预期运行

任何指示赞赏。

0 个答案:

没有答案