На моем сайте, у меня есть две галочки, созданные с моей точки зрения 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"});
Я уверен, что ViewData [ «someKey»] имеет значение «правда» в нем.
В моей JS функции инициализации, я выполнить следующую проверку:
alert($('#check1').is(':checked') + " " + $('#check2').is(':checked'));
В Firefox (и только 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')
без успеха. Если я изучу HTML в Firebug, я вижу, что первый переключатель имеет свойство checked="checked"
.
Почему меняется значение флажка в FF при обновлении и как я могу смягчить это? Поскольку это кажется ошибкой FF, как я могу изменить свой код, чтобы он работал?
This SO question, казалось, задал нечто подобное, но ни одно из предлагаемых решений, похоже, не работает в этом случае.
Edit: Я хотел бы также отметить, что, когда кнопка радио визуализируются после обновления в 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 –