Trong Firefox 7.0.1, tôi có hai hộp kiểm và một số đầu vào khác.Firefox ghi nhớ các nút radio không chính xác
Khi tôi thêm một đầu vào khác thông qua jQuery Firefox không ghi nhớ chính xác đầu vào radio nào được chọn.
Ví dụ: nếu tôi chọn nút radio đầu tiên và sau đó làm mới trang, nút radio thứ hai được chọn thay vì nút radio đầu tiên và nếu tôi làm mới lại thì không có nút radio nào được chọn.
Bạn sẽ có thể sao chép và dán đoạn mã dưới đây vào một tập tin mới để thử nghiệm cho mình:
<!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>
Tôi nên lưu ý rằng những gì tôi đang thực sự cố gắng làm là phức tạp hơn nhưng sau nhiều giờ gỡ lỗi tôi đã quản lý để thu hẹp nó xuống này.
Bạn có nghĩa là sau khi bạn gửi biểu mẫu hoặc chỉ làm mới trang? Tôi không nghĩ rằng bất kỳ trình duyệt nào chính thức yêu cầu ghi nhớ dữ liệu nhập của người dùng nếu họ chỉ làm mới trước khi điền vào biểu mẫu và gửi. –
Tôi có cảm giác rằng Firefox có hoặc ít nhất cũng được sử dụng. Tuy nhiên vẫn còn một vấn đề ở đây với cách các nút radio khác nhau đang được kiểm tra trên mỗi lần làm mới. – robjbrain
Bởi chính thức tôi có nghĩa là do tính linh hoạt của DOM thông qua JS các chỉ số dự kiến có thể không có mặt và nó còn lại để giải thích. Có khả năng bộ nhớ của nó được gọi là dựa trên một vị trí số cơ bản trong dom và vì sự chèn vào bất ngờ này, nó đang áp dụng sai nó. Vì vậy, đối với bạn, nó có thể là cần thiết để đi xa như vậy để thiết lập một cookie js có chứa tình trạng hình thức dự kiến của bạn và áp dụng đó trong cuộc gọi document.ready của bạn. –