檢查我的網站上查詢,我在我的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