IE8 : les onchange et tests checked ont des comportements bizarres #2676

Closed
opened 11 years ago by miros · 14 comments
miros commented 11 years ago

Sur IE8, les "onchange" et test de checked semblent buggués sur les boutons radio et checkbox... D'autres reproduisent ces problèmes ?

De mon coté sur scolaspip, j'ai remplacé les onchange par des onclick (meme si c'est moins propre) : http://zone.spip.org/trac/spip-zone/changeset/60670

Voici éventuellement des patchs pour SPIP et 4 plugins-dist pour les cas que j'ai pu identifier.

Sur IE8, les "onchange" et test de checked semblent buggués sur les boutons radio et checkbox... D'autres reproduisent ces problèmes ? De mon coté sur scolaspip, j'ai remplacé les onchange par des onclick (meme si c'est moins propre) : http://zone.spip.org/trac/spip-zone/changeset/60670 Voici éventuellement des patchs pour SPIP et 4 plugins-dist pour les cas que j'ai pu identifier.
Poster

un patch manquant pour les sites.

un patch manquant pour les sites.
Owner

Peux tu être plus precis dans la description du probleme : indiquer un formulaire precis sur lequel on peut constater le soucis, et ce qui ne marche pas exactement. Les patchs que tu donnent ne sont pas satisfaisants par ailleurs (onclick pas equivalent a onchange, et il faut oconserver les tests sur la propriete checked)

Peux tu être plus precis dans la description du probleme : indiquer un formulaire precis sur lequel on peut constater le soucis, et ce qui ne marche pas exactement. Les patchs que tu donnent ne sont pas satisfaisants par ailleurs (onclick pas equivalent a onchange, et il faut oconserver les tests sur la propriete checked)
Poster

Pour les patchs : c'est pour ça que j'ai précisé : « même si c'est moins propre ».
ils fonctionnent néanmoins il me semble mais je ne me rappelle plus si j'ai tout testé à fond.

Là, j'ai pas d'ie sous la main...
Si je me souviens bien : le comportement est étrange suivant que la case ou le bouton ait le focus ou pas.
Le problème est décrit ici : http://krijnhoetmer.nl/stuff/javascript/checkbox-onchange/

Dans notre cas, voici les pages :

?exec=configurer_mediabox : cliquer sur « Activer la mediabox dans le site public » (sur le label ou sa case à cocher)

?exec=configurer_contenu :
idem pour :
« Gérer un annuaire de sites Web » ou « Désactiver l'annuaire de sites Web »
« Utiliser les mots-clés » ou « Ne pas utiliser les mots-clés »

?exec=sauvegarder
« Sauvegarder toutes les tables »
et « Restaurer toutes les tables »

?exec=configurer_interactions
Ne pas envoyer d'annonces éditoriales ou Envoyer les annonces à l'adresse
Ne pas envoyer la liste des nouveautés ou Envoyer la liste des nouveautés

?exec=article&id_article=N (avec option date rédaction antérieure activée)
Ne pas afficher de date de rédaction antérieure

?exec=configurer_avancees
Ne pas générer de miniatures des images. ou Générer automatiquement les miniatures des images.

Pour les patchs : c'est pour ça que j'ai précisé : « même si c'est moins propre ». ils fonctionnent néanmoins il me semble mais je ne me rappelle plus si j'ai tout testé à fond. Là, j'ai pas d'ie sous la main... Si je me souviens bien : le comportement est étrange suivant que la case ou le bouton ait le focus ou pas. Le problème est décrit ici : http://krijnhoetmer.nl/stuff/javascript/checkbox-onchange/ Dans notre cas, voici les pages : ?exec=configurer_mediabox : cliquer sur « Activer la mediabox dans le site public » (sur le label ou sa case à cocher) ?exec=configurer_contenu : idem pour : « Gérer un annuaire de sites Web » ou « Désactiver l'annuaire de sites Web » « Utiliser les mots-clés » ou « Ne pas utiliser les mots-clés » ?exec=sauvegarder « Sauvegarder toutes les tables » et « Restaurer toutes les tables » ?exec=configurer_interactions Ne pas envoyer d'annonces éditoriales ou Envoyer les annonces à l'adresse Ne pas envoyer la liste des nouveautés ou Envoyer la liste des nouveautés ?exec=article&id_article=N (avec option date rédaction antérieure activée) Ne pas afficher de date de rédaction antérieure ?exec=configurer_avancees Ne pas générer de miniatures des images. ou Générer automatiquement les miniatures des images.
Poster

Je reprécise que c'était avec internet explorer 8.
Je n'ai pas pu tester avec d'autres versions d'IE.

Je reprécise que c'était avec internet explorer 8. Je n'ai pas pu tester avec d'autres versions d'IE.
Owner

meme si on remplace les onchange par des onclick, il faut bien tester l'etat de checked pour etre synchro. Qui plus est, il faudrait dans ce cas aussi agir sur le onkeydown pour le cas de modification au clavier. Cela est lourd au final, et je ne suis pas sur que ça en vaille le coup.
Je testerai sous IE asap

meme si on remplace les onchange par des onclick, il faut bien tester l'etat de checked pour etre synchro. Qui plus est, il faudrait dans ce cas aussi agir sur le onkeydown pour le cas de modification au clavier. Cela est lourd au final, et je ne suis pas sur que ça en vaille le coup. Je testerai sous IE asap
Owner

Version cible mise à 3.1

**Version cible mise à 3.1**
Owner

Salut, je viens de fermer un ticket doublon que j'ai ajouté en demande liée. Dans ce ticket je proposais aussi de passer par onclick, mais je viens de lire les arguments de Cedric contre cette solution et je les comprends.

En cherchant un peu, je suis tombé là dessus :

http://www.tudury.fr/?p=43

J'ai testé et cela fonctionne bien sous IE et FF, au clavier et à la souris. Donc un simple ajout de onclick="$(this).blur();" sur ces input et hop plus de problème :)

En attendant mieux pour la 3.1 ça règlerait le pb dans la 3.0. Pour la 3.1 il serait pas mal qu'on se fasse une tite fonction pour gérer ces cas. Quelque chose dans le style :

cachecache(inputquimontre,inputquicache,lacible);

Salut, je viens de fermer un ticket doublon que j'ai ajouté en demande liée. Dans ce ticket je proposais aussi de passer par onclick, mais je viens de lire les arguments de Cedric contre cette solution et je les comprends. En cherchant un peu, je suis tombé là dessus : http://www.tudury.fr/?p=43 J'ai testé et cela fonctionne bien sous IE et FF, au clavier et à la souris. Donc un simple ajout de onclick="$(this).blur();" sur ces input et hop plus de problème :) En attendant mieux pour la 3.1 ça règlerait le pb dans la 3.0. Pour la 3.1 il serait pas mal qu'on se fasse une tite fonction pour gérer ces cas. Quelque chose dans le style : cachecache(inputquimontre,inputquicache,lacible);
Owner

Peut être pas si loin que ça. Chez jQuery ils disaient «jQuery 2.0 (early 2013, not long after 1.9)». On était à la béta 2 le 1er mars dernier.

Donc, ça risque d'être dans la 3.1 à ce train là :)

[oups] Ce message était destiné à #2965[/oups]

Peut être pas si loin que ça. Chez jQuery ils disaient «jQuery 2.0 (early 2013, not long after 1.9)». On était à la béta 2 le 1er mars dernier. Donc, ça risque d'être dans la 3.1 à ce train là :) [oups] Ce message était destiné à #2965[/oups]
Owner

marcimat - a écrit :

Peut être pas si loin que ça. Chez jQuery ils disaient «jQuery 2.0 (early 2013, not long after 1.9)». On était à la béta 2 le 1er mars dernier.

Donc, ça risque d'être dans la 3.1 à ce train là :)

[oups] Ce message était destiné à #2965 [/oups]

marcimat - a écrit : > Peut être pas si loin que ça. Chez jQuery ils disaient «jQuery 2.0 (early 2013, not long after 1.9)». On était à la béta 2 le 1er mars dernier. > > Donc, ça risque d'être dans la 3.1 à ce train là :) > > [oups] Ce message était destiné à #2965 [/oups]
Owner

`b_b : gogogo

`b_b : gogogo
b_b commented 9 years ago
Owner

Appliqué par commit r21163.
Statut changé à Fermé

Appliqué par commit r21163. **Statut changé à Fermé**
b_b commented 9 years ago
Owner

Le commit pour les plugins-dist : http://zone.spip.org/trac/spip-zone/changeset/80243

Je laisse le ticket en cours car ça serait pas mal de faire une fonction réutilisable comme je le suggérais dans un commentaire précédent.
Statut changé à En cours

Le commit pour les plugins-dist : http://zone.spip.org/trac/spip-zone/changeset/80243 Je laisse le ticket en cours car ça serait pas mal de faire une fonction réutilisable comme je le suggérais dans un commentaire précédent. **Statut changé à En cours**
b_b commented 9 years ago
Owner
There is no content yet.
b_b commented 9 years ago
Owner

Statut changé à Fermé

**Statut changé à Fermé**
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.