检查我的网站上查询,我在我的ASP.NET MVC视图中创建像这样两个复选框:如果单选按钮在Firefox
Html.RadioButton("check", "true", "true" == (string) ViewData["someKey"], new { id = "check1"});
Html.RadioButton("check", "false", "false" == (string) ViewData["someKey"], new { id = "check2"});
我肯定计算机[“someKey”]的值为“真”。
在我的JS初始化函数,我进行以下检查:
alert($('#check1').is(':checked') + " " + $('#check2').is(':checked'));
在Firefox(只有火狐),我的警告对话框将显示如下(它按预期工作在其他浏览器):
Initial page load: true false
Normal refresh via Ctrl + R: false false
Refresh skipping cache via Ctrl + Shift + R: true false
我已经尝试了很多不同的方法来查看复选框的值,包括$('#check1').attr('checked')
没有成功。如果我在Firebug中检查HTML,我可以看到第一个单选按钮的属性为checked="checked"
。
当我刷新时,为什么FF中的复选框值发生变化,我该如何缓解这种情况?由于这似乎是一个FF-only错误,我怎样才能改变我的代码,使其工作?
This SO question似乎要求类似的东西,但似乎没有任何提出的解决方案在这种情况下工作。
编辑:我还要指出的是,当单选按钮在FF刷新后呈现的,它实际上不是被显示作为托运要么,尽管什么HTML告诉我。
EDIT2:添加原始的HTML作为每个请求
<input id="check1" type="radio" value="True" name="check" checked="checked"/>
<input id="check2" type="radio" value="False" name="check"/>
也许你应该澄清,这实际上是由于Firefox动态添加或删除输入字段时出现的错误:https://bugzilla.mozilla.org/show_bug.cgi?id = 539228 – 2011-02-08 14:25:06