Page 1 sur 1
FF form radiobutton et js - autocomplete
Publié : 10 mai 2011, 17:27
par Billyben
Bonjour, je viens souligner ce qui pour moi est un bug, j'imagine que je ne suis pas le seul à faire remonter l'info, mais ça m'a tellement pris la tête, et à priori c'est un truc qui perdure depuis quelques versions... Donc avec un formulaire (<form>) et les radio bouton, pour peut qu'il y ait un peu de javascript dans la page.
Quand on reload la page, les radiobutton ne sont pas bien sélectionnés, la sélection descend, et boucle sur ceux-ci. Ceci est du à l'autocomplete du formulaire... Pour avoir quelque chose de correct, il faut le désactiver.
Voilà ou j'ai trouvé l'info/soluce :
http://www.ryancramer.com/journal/entri ... s_firefox/
Bien em.£%$*ù.ant, surtout quand on est pas au courant....
Re: FF form radiobutton et js - autocomplete
Publié : 10 mai 2011, 18:27
par jpj
Bonjour,
As-tu vérifié le comportement avec d'autres navigateurs (Opera, safari, Chrome) ?
[Je n'ai que Firefox sous le mulot pour l'instant donc je n'ai pas pu vérifier moi-même.]
Re: FF form radiobutton et js - autocomplete
Publié : 11 mai 2011, 10:17
par Billyben
Salut,
j'ai testé sous IE 8 et chrome, pas de souci.
Malheureusement, pour mes tests en dev je test sous FF, et je n'avais absolument pas pensé que ce souci pouvais venir du navigateur, donc je me suis bien pris la tête la dessus....
Re: FF form radiobutton et js - autocomplete
Publié : 11 mai 2011, 10:52
par jpj
Bonjour,
Je ne comprends pas ceci :
Billyben a écrit :Quand on reload la page, les radiobutton ne sont pas bien sélectionnés, la sélection descend, et boucle sur ceux-ci.
J'ai testé hier avec Firefox 4 et 5, IE 9, Chromium (Chrome 12), Safari et Opera.
Quand on recharge par F5 la page de test (
http://www.ryancramer.com/projects/asms ... plete.html), la sélection de bouton radio est systématiquement réinitialisé sur le "1" avec tous ces navigateurs.
La différence est que IE 9, Chromium, Safari et Opera réinitialisent les champs de texte sur un F5 alors que Firefox ne le fait pas (il faut un Ctrl+F5)
Je viens de tester avec IE 8 et il ne réinitialise que le second champ de texte sur un F5.
Il semblerait donc que ce soit le script qui soit incorrect pour les boutons radio puisque le comportement est le même avec les navigateurs de dernière génération.
Je déplace dans "Développement web" où cela pourra être regardé plus en détail.
Re: FF form radiobutton et js - autocomplete
Publié : 11 mai 2011, 13:11
par Billyben
Re, sur ta page de test, quand je reload via F5
sur FF 4.0.1 : (la version non fix)
* le 1er champs non initialisé (garde la valeur que je lui donne)
* le 2nd champs est réinitialisé
* la sélection des bouton radio défile ( 1,2,3,1,2,3,1,2,3,1......)
Et tout fonctionne sur la page "_fix" (les champs réini, la sel des btnRadio sur 1)
Sur IE 8.0.76... :
non fix : seul le 2nd champs text est réinitialisé
idem pour le fix, les radio bouton garde la sélection.
sous chrome 11.0.69... non fix et fix, tout est réinitialisé
Re: FF form radiobutton et js - autocomplete
Publié : 11 mai 2011, 13:32
par calimo
Hello,
Billyben a écrit :pour peut qu'il y ait un peu de javascript dans la page.
Je vois que tu utilises jQuery. Visiblement s'il y a vraiment qu'un
petit peu de js (j'ai testé avec juste un "var a = 3") il n'y a pas de problème. Peux-tu préciser exactement le "un peu de JS" ? Ce sera utile pour signaler le bug (déjà vérifier si ça vient de Firefox ou de jQuery).
Re: FF form radiobutton et js - autocomplete
Publié : 11 mai 2011, 14:13
par Billyben
Re, à priori il n'y a pas que jQuery.
Avec un embed de swf via swfObject, si je place la div de destination dans le "form", je retrouve le problème. Si je place la div hors balise form, pas de problème. A savoir que swfObject 'transforme' la balise div en object avec le swf.
A noter qu'avec jQuery, si j'ajoute un élement hors "form", pas de souci.
Par contre, avec (avec le code de jpj moins le js) :
Code : Tout sélectionner
<script type="text/javascript">
var t=document.getElementById("test");
t.value="val mod";
</script>
ou encore
Code : Tout sélectionner
<script type="text/javascript">
var t=document.getElementById("form1");// le form....
var l=document.createElement("input");
l.type="text";
l.value="ok";
t.appendChild(l);
</script>
pas de souci, la valeur du champ de text est réinitialisé (mais les radio gardent la sélection)
Donc effectivement, le "peu" de js était un peu trop....
Re: FF form radiobutton et js - autocomplete
Publié : 11 mai 2011, 14:38
par calimo
Visiblement le bug est connu :
https://bugzilla.mozilla.org/show_bug.cgi?id=394782
(il semblerait qu'ils aient trouvé la même source que toi).