Project

General

Profile

Anomalie #2676

IE8 : les onchange et tests checked ont des comportements bizarres

Added by Johan . almost 8 years ago. Updated about 6 years ago.

Status:
Fermé
Priority:
Normal
Assignee:
-
Category:
javascript
Target version:
Start date:
04/26/2012
Due date:
% Done:

100%

Resolution:
fixed
Navigateur:
Internet Explorer

Description

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.

prive_formulaire.patch View (3.83 KB) Johan ., 04/26/2012 11:58 AM

dump_formulaire.patch View (1.54 KB) Johan ., 04/26/2012 11:58 AM

mots_formulaire.patch View (1.12 KB) Johan ., 04/26/2012 11:58 AM

mediabox_formulaire.patch View (840 Bytes) Johan ., 04/26/2012 11:58 AM

sites_formulaire.patch View (1.14 KB) Johan ., 04/26/2012 11:59 AM


Related issues

Related to SPIP - Anomalie #2964: Développement boite d'options inverser Rejeté 03/26/2013

Associated revisions

Revision 21163 (diff)
Added by brunobergot@gmail.com about 6 years ago

Ferme #2676 : bugfix problème de focus sous IE8

History

#1 Updated by Johan . almost 8 years ago

un patch manquant pour les sites.

#2 Updated by cedric - almost 8 years ago

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)

#3 Updated by Johan . almost 8 years ago

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.

#4 Updated by Johan . almost 8 years ago

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

#5 Updated by cedric - almost 8 years ago

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

#6 Updated by cedric - almost 8 years ago

  • Target version changed from 3.0 to 3.1

#7 Updated by b b about 7 years ago

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);

#8 Updated by marcimat 🌻 about 7 years ago

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]

#9 Updated by marcimat 🌻 about 7 years ago

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]

#10 Updated by cedric - almost 7 years ago

@b_b : gogogo

#11 Updated by b b about 6 years ago

  • Status changed from Nouveau to Fermé
  • % Done changed from 0 to 100

Appliqué par commit r21163.

#12 Updated by b b about 6 years ago

  • Status changed from Fermé to 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.

#13 Updated by b b about 6 years ago

  • Resolution set to fixed

#14 Updated by b b about 6 years ago

  • Status changed from En cours to Fermé

Also available in: Atom PDF