L'éditeur JavaScript
Visiteur non-identifié | Identifiez-vous | Devenir membre
Code perdu ? | Combien de visiteurs sur votre site ?
Rechercher :
Page d'accueil
     Home Page

JavaScript
     Tous les scripts
     Proposer un script
     Recherche de script
     AJAX new!
     Cours de JavaScript
     Liste de discussion
     Forums

Services :
     CountUs
     myCircle

     Referencement
     Créat. de bannière

Trucs et astuces :
     HTML / CSS
     PHP / MySQL
     Réferencement
     Graph / Présentation
     Toutes les astuces
     Ajouter un article

MailingList :
105374 abonnés

Annuaire webmaster :      Hebergement web
     Referencement
     Sites webmasters
     XHTML - CSS2
     PHP
     Affiliation - Pub
     FAI

     Annuaire webmaster

Ressources pour webmasters :
     Kits graphiques
     Création logo

Plus :
     Comparateur de prix
     Foire aux questions
     Les membres
     Devenir annonceur
     Faire un lien
     Contact

Partenaire :
     Hebergement gratuit
     Le PHP facile
     Horoscope
     Comscripts
     WebmasterClub
     Activeartanima...
     Le village de ...
     L'écriteau
     Faro-dessing
     Gifs animés, f...
     Netsources
     Easy-script.com
     K i s s design
     Trucs et astuc...
     Je javascript
     Les autres
     Votre site ici ?


Article posté par : EricM
Date de mise en ligne : 2-12-2005
Niveau : Assez facile
>> Ajouter un article

Sous IE : gérer onChange avec la balise label sur radio et checkbox



Problème de la balise label sous IE

Attention : ne concerne que Internet Explorer !
:)

Problème de la balise label sous IE

Lors de l'utilisation (très conviviale et présentée dans un autre article) de la balise label associée à un radio ou une checkbox sous IE, l'évènement onChange de l'input ne se déclenche plus.
En effet, il est associé à une modification du champ (ici coché / non coché) ET à une perte de focus dudit champ. Or la balise label permet de modifier la valeur du champ sans que celui-ci reçoive le focus. Il ne le perd donc pas suite à la modification, et le onChange ne se déclenche pas. Si d'autres navigateurs savent gérer cette fonctionnalité, ce n'est pas le cas d'IE ;)
Remarque : le onChange sur un radio ou une checkbox est de toute façon problématique avec IE, puisqu'après un clic (qui modifie la valeur du champ), il n'y a pas de perte de focus, IE ne déclenche donc pas l'évènement. Il faut, pour le déclencher, sortir volontairement du champ modifié.


Une solution simple

Pour remédier à ce(s) problème(s), il suffit de remplacer l'évènement onChange par l'évènement onClick. En effet, le tag label semble générer un onClick sur le champ associé, ce qui résoud tous les problèmes cités plus haut.
<html>
<head>
</head>
<body>
Avec onChange il faut cliquer sur le radio, puis re-cliquer "à l'extérieur" du champ pour déclencher le onChange :<br />
<input type="radio" id="radio_1" name="radios" onChange="alert('Champ 1 cliqué');"> <label for="radio_1">Champ 1</label>
<br />
<input type="radio" id="radio_2" name="radios" onChange="alert('Champ 2 cliqué');"> <label for="radio_2">Champ 2</label>
<br /><br />
Avec onClick plus de problémes :<br />
<input type="radio" id="radio_10" name="radios" onClick="alert('Champ 1 cliqué');"> <label for="radio_10">Champ 1</label>
<br />
<input type="radio" id="radio_20" name="radios" onClick="alert('Champ 2 cliqué');"> <label for="radio_20">Champ 2</label>
</body>
</html>


Ce qui donne :
Avec onChange on doit cliquer sur le radio, puis re-cliquer "à l'extérieur" du champ pour déclencher le onChange :



Avec onClick plus de problémes :




Annotations des visiteurs :

De aldo06 - le 01-04-2008

merci bien, trés utile, quelle m... cet ie
De GilDev - le 13-12-2006

Sa marche aussi avec Safari sur Mac pratiqument toute les chose marche sur Safari

>> Poster une annotation sur cette astuce

Retour à la liste des trucs et astuces





29 visiteurs
actuellement en ligne

    PUBLICITE

Wilogo.com - Création Logo Entreprise

     ANNUAIRE WEBMAST.
MagikBiz
Integrez une section logo/sonnerie sur votre site !
http://magikbiz.com
Cat : Affiliation - publicité
Voir l'annuaire webmaster


     LES SCRIPTS :
78 à éditer
68 à copier/coller
247 des membres
2580 sur le web
>> Tous les scripts

     LES MEMBRES :
55832 membres
8722 comptes CountUs
1518 comptes myCircle

     LES FORUMS :
14 forums
39348 topics
189197 messages
>> Les forums

    SONDAGE

Vous avez un blog ou site classique ?
Un blog
Un site classique
Les deux !
La mini-astuce "Referencement" du jour par ganou66
Pour bien commencer un référencement, votre script doit comporter des ' meta tag ' adéquats.
http://www.objectif-referencement.com/comprendre.php est la pour vous aider.
Proposer votre mini-astuce | Archives des mini-astuces
© 1999-2008 K-NETWORK - Tous droits réservés | CNIL N° 844440 | 04/12/2008 00:04:12 | Design by Studcrea | Gen. en 0.44 sec.