2010-07-04 7 views
9

To dość proste pytanie (zakładam). Prawdopodobnie jest to repost, ale nie mogłem znaleźć odpowiedzi tutaj ... więc zaczynamy.Checkbox Pozostaje zaznaczona na stronie Refresh

Mam pole wyboru na stronie, które chcę domyślnie "odznaczone" (chyba że określam inaczej w moim php).

Po odświeżeniu strony, jeśli pole było zaznaczone, pozostanie zaznaczone, co nie bueno, ponieważ zaznaczenie tego pola powoduje dodanie elementu dom do mojej strony poprzez funkcję dołączoną do ramki. Tak więc problem polega na tym, że jeśli odświeżam, pole jest nadal zaznaczone, ale element dom nie istnieje (ponieważ nie uruchomiłem tej funkcji i nie chcę, chyba że użytkownik zaznaczy to pole wyboru), ale pole jest JUŻ sprawdziłem i trafiłem w przeciwną krainę, gdzie UN zaznaczenie tego pola tworzy mój element dom i sprawdzenie go usuwa.

Zasadniczo chodzi o to ...

Czy istnieje sposób, aby domyślnie niezaznaczone pole wyboru bez javascript?

BTW nie zostały sprawdzone (gra słów nie przeznaczonych) w innych niż FF 3.5.10

+1

Tu wracam ... w jaki sposób zaznaczam pole wyboru po sprawdzeniu odświeżenia? Moja forma się oczyszcza, a ja naprawdę chcę, żeby dane były przechowywane. Mam problem polegający na tym, że błędnie podpisany captcha usuwa moją formę i nie jestem pewien, jak rozwiązać ten problem. – creativeedg10

Odpowiedz

9

Zobacz http://weblogs.mozillazine.org/gerv/archives/2006/10/firefox_reload_behaviour.html (pierwszy komentarz):

Zrobione w ten sposób celowo więc jeśli naciśniesz przycisk Odśwież cię nie stracić pracę. W Bugzilli jest wpis o numerze , który został WONTFIXed z prośbą o regularne odświeżenie, aby całkowicie zresetować formularz . Zasadniczo jest to kompatybilność wsteczna - każda przeglądarka od NS1.0 (może nawet Mosiac) to zrobiła.

Strony generowane dynamicznie nawet się nie resetują, ale jeśli wygaśnięcie jest ustawione na 0, a klikniesz przycisk Wstecz, otrzymasz świeży formularz . Ponadto, jeśli sam formularz się zmieni (dodać lub usunąć elementy, zmienić akcję itp.), For zostanie zresetowany po ponownym załadowaniu. Nie przetestowałem go, ale ustawienie nazwy formularza na coś losowego (zakładając, że nie potrzebujesz nazwy dostępu JS) może po prostu zadziałać. Podobnie jak "> w PHP.

Jak już wspomniano, wymuszenie odświeżenia powoduje wyczyszczenie formularza, a także resetowanie go powoduje, że jest on również . Czy coś takiego jak , czego chcesz (ponownie, nie testowane)?

+0

cóż, proszę bardzo. Cholera, FF!(żartuję, kocham FF, żałuję, że wszyscy nie używali FF). –

+1

Tak, denerwujące dla twórców stron internetowych jest niestety pożądane zachowanie dla użytkowników sieci. Wiele razy przypadkowo ponownie załadowałem stronę podczas pisania długiego posta i byłem wdzięczny, że Firefox przechowuje dane mojego formularza. –

3

Sure przeglądarek:

document.getElementById('my_checkbox').checked = false; 

Oops, I missed część o żadnym JS. O ile mi wiadomo, Firefox zachowuje stan strony podczas odświeżania, więc domyślam się, że nie ma innego sposobu.

+0

tak, po prostu nienawidzę dodawać więcej javascript do mojej strony, ponieważ będę dodawać niektóre do sprawdzenia niektórych skrzynek. Chyba mogę zająć się tym wszystkim od razu, ale chciałbym zacząć od czystej tablicy. –

6

to działa dla IE autouzupełniania = „off”

Powiązane problemy