J'ai trouvé ce que je crois être un bogue dans Firefox et je me demande s'il s'agit bien d'un bogue, ainsi que les solutions de contournement possibles.
Si vous créez une page web de base avec la source suivante :
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
</head>
<body>
<div>
<input id="txtTest" type="text" />
<input type="button" onclick="$('#txtTest').attr('disabled','disabled');" value="Set Disabled (jQuery)" />
<input type="button" onclick="document.getElementById('txtTest').disabled = true;" value="Set Disabled (js)" />
<input type="button" onclick="$('#txtTest').removeAttr('disabled');" value="Remove Disabled" />
</div>
</body>
</html>
Si vous disable
le site textbox
de façon dynamique, puis de rafraîchir la page, l'option textbox
restera désactivé au lieu de revenir à son état initial de non désactivation. J'ai essayé cela dans IE8 et Chrome et ils se comportent comme prévu, en réinitialisant l'icône de l'utilisateur. textbox
de nouveau désactivé quand je rafraîchis.
Une autre information intéressante est qu'il fait toujours la même chose si l'entrée est un fichier de type checkbox
au lieu d'un textbox
.
2 votes
Êtes-vous sûr qu'il ne s'agit pas simplement de la "fonctionnalité" de Firefox qui se souvient de l'état de l'ordinateur de l'utilisateur ?
input
éléments lorsque vous rafraîchissez simplement ?0 votes
@thirtydot : Je me posais aussi la question, j'ai donc essayé de définir dynamiquement l'attribut "size", et il est réinitialisé lors de l'actualisation, comme tous les autres navigateurs. Il semble donc que ce que j'ai découvert jusqu'à présent, c'est que Firefox conserve l'attribut "disabled" ainsi que la valeur réelle de l'entrée, mais pas la taille...
5 votes
Wow, tu as raison ! J'ai mis autocomplete="off" sur l'entrée et cela n'arrive plus. C'est plutôt gênant que firefox l'active par défaut !
3 votes
Oui, j'avais oublié qu'on pouvait le désactiver avec
autocomplete="off"
. Cet article de blog me semble familier, donc je suis certainement déjà tombé dessus. Vous devriez écrire une réponse à votre propre question (ou dois-je le faire ?)1 votes
Il existe un rapport de bogue ouvert de Mozilla à ce sujet : bugzilla.mozilla.org/show_bug.cgi?id=654072