94 votes

Pourquoi la case à cocher reste-t-elle cochée lors du rechargement de la page ?

Je recharge une page web qui contient le code suivant :

<label for="showimage">Show Image</label>
<input id="showimage" name="showimage" type="checkbox" value="1" />

Même si les séjours HTML envoyés au navigateur sont les mêmes à chaque rechargement de la page, la case à cocher prend toujours la valeur cochée lorsqu'un rechargement a été effectué. En d'autres termes, si l'utilisateur coche la case et recharge la page, la case est toujours cochée.

Est-ce qu'il y a une mise en cache ici ?

Editar : J'ai essayé la solution de Gordon Bell ci-dessous et je constate que cela se produit toujours même après avoir supprimé la valeur="1". Y a-t-il autre chose qui m'échappe ?

<label for="showimage">Show Image</label> 
<input id="showimage" name="showimage" type="checkbox" />

0voto

Ionut Staicu Points 6523

Ou au lieu de f5, appuyez sur entrée dans la barre d'adresse :)

3 votes

Ou plutôt suggérer à l'utilisateur de le faire (c'est une question de développeur).

0 votes

Nous ne pouvons pas vraiment attendre des utilisateurs qu'ils rafraîchissent toujours la page avec Crtl+Shift+R, n'est-ce pas ?

0voto

Aleksandar Points 721

Cela pourrait être dû à la mise en cache du navigateur - très utile pour les sites web statiques qui ne sont pas modifiés trop souvent, très mauvais pour les applications web dynamiques.
Essayez avec ces deux balises méta dans la section head de la page. La deuxième balise méta est destinée aux anciens navigateurs (IE5) qui ne reconnaissent pas la balise méta "no-cache" et, bien que différente, produit le même résultat : Chaque requête est envoyée au serveur.

<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="Expires" CONTENT="-1">

0voto

Sumit Mehta Points 39

$("#showimage").prop("checked",false) ;

0voto

Mohamed Gomah Points 11

L'idée publique pour résoudre ce problème

formulaire et bouton de réinitialisation

<form>
<checkbox>
<reset>
</form>

$(reset).trigger("click");//to clear the cache and input 
$(checkbox).trigger("click");//to mark checkbox

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X