W Firefoksie 7.0.1 mam dwa pola wyboru i kilka innych danych wejściowych.Firefox pamięta niepoprawnie przyciski radiowe
Kiedy dodaję kolejne wejście przez jQuery, Firefox nie zapamiętuje dokładnie, jakie wejścia radiowe są wybierane.
Na przykład, jeśli wybiorę pierwszy przycisk radiowy, a następnie odświeżysz stronę, zostanie wybrany drugi przycisk radiowy zamiast pierwszego, a po odświeżeniu nie zostanie wybrany żaden przycisk radiowy.
Powinieneś być w stanie skopiować i wkleić poniższy kod do nowego pliku, aby przetestować dla was:
<!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>
Należy zauważyć, że co ja rzeczywiście staramy się robić to bardziej skomplikowane, ale po wielu godzinach debugowania udało mi się to ograniczyć.
masz na myśli po wysłaniu formularza lub po prostu Odśwież stronę? Nie sądzę, aby jakakolwiek przeglądarka oficjalnie twierdziła, że pamięta dane wprowadzone przez użytkownika, jeśli po prostu odświeży się przed wypełnieniem formularza i przesłaniem go. –
Mam wrażenie, że Firefox działa, a przynajmniej używa go. Niemniej jednak nadal istnieje problem z tym, w jaki sposób różne przyciski są sprawdzane przy każdym odświeżeniu. – robjbrain
Oficjalnie mam na myśli to, że biorąc pod uwagę plastyczność DOM przez JS, oczekiwane indeksy mogą nie występować i pozostawia się je interpretacji. Istnieje możliwość, że tak zwana pamięć jest oparta na podstawowej pozycji liczbowej w domenie i z powodu tego nieoczekiwanego wstawienia źle ją wykorzystuje. Tak więc dla ciebie może być konieczne, aby ustawić plik js zawierający oczekiwany status formularza i zastosować go w swoim dokumencie. –