在Firefox 7.0.1中,我有兩個複選框和一些其他輸入。Firefox記住單選按鈕不正確
當我通過jQuery添加另一個輸入時,Firefox不能正確記住選擇了哪些無線電輸入。
例如,如果我選擇第一個單選按鈕,然後刷新頁面,則選擇第二個單選按鈕而不是第一個單選按鈕,如果再次刷新,則不選中單選按鈕。
你應該可以到下面的代碼複製並粘貼到一個新的文件來測試自己:
<!DOCTYPE html>
<html lang="en">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$('select').after('<input class="select" type="text" name="new_text_input" />');
});
</script>
<title>Pretty jQuery Form</title>
</head>
<body>
<form>
<fieldset>
<label>Select Box</label>
<select name="my_select">
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
<option>Option 4</option>
</select>
</fieldset>
<fieldset>
<label>Text Input</label>
<input class="text" id="text_input" name="input" type="text" />
</fieldset>
<fieldset>
<label>Text Area</label>
<textarea></textarea>
</fieldset>
<fieldset>
<label>Radio</label>
<input value="1" name="radio" id="radio1" type="radio" /> <label for="radio1">Radio 1</label>
<input value="2" name="radio" id="radio2" type="radio" /> <label for="radio2">Radio 2</label>
</fieldset>
</form>
</body>
</html>
我要指出,就是我真正想要做的是更復雜,但後幾個小時調試我已經設法縮小到這一點。
你的意思是你提交表單或剛過刷新頁面?我不認爲任何瀏覽器在填寫表格和提交之前都會正式聲明記住用戶輸入,如果他們只是刷新。 –
我有一種Firefox的感覺,或者至少已經習慣了。儘管如此,在每次刷新時檢查不同單選按鈕的方式仍然存在問題。 – robjbrain
官方的意思是,由於DOM通過JS的可塑性,預期的指數可能不存在,因此需要解釋。有一種可能性,即所謂的記憶基於dom中的基本數字位置,並且由於這種意外的插入,它會誤用它。因此,對於您來說,可能需要設置一個包含預期表單狀態的js cookie,並將其應用於document.ready調用。 –