2009-09-30 5 views
4

J'ai un projet qui nécessite certaines valeurs pour être mis à jour avec JavaScript à partir d'un événement de changement de radio HTML.Evénement de modification radio IE HTML

Pour une raison quelconque dans IE, il semble que l'événement onchange n'est pas appelé tant que la radio n'a pas perdu le focus. Malheureusement, en raison de la configuration du code, je ne peux pas utiliser l'événement click et utiliser l'événement change.

Est-ce que quelqu'un connaît un moyen de forcer IE à déclencher l'événement de changement dès que le contrôle est modifié plutôt que lorsqu'il perd le focus?

Merci.

Répondre

8

Juste pour ajouter, vous pouvez forcer IE pour déclencher l'événement onChange en utilisant l'événement onClick, donc si vous utiliser autorisé l'événement onClick pour déclencher l'événement de changement, cela devrait le faire:

<input type="radio" onclick="this.blur();"/> 
+5

Merci, Cela a résolu mon problème immédiat et a sauvé le jour pour le client. IE est un fléau qui devrait être effacé de la surface de la terre. –

1

J'ai eu le même problème. Les seules options que j'ai trouvés:

  1. Utilisez un cadre js qui regroupe l'ensemble du navigateur pour idiosyncrasies du navigateur (vous allez vouloir ce faire, croyez-moi Avez-vous testé votre page encore dans Safari.?

  2. Si vous souhaitez que l'événement se déclenche mais ne souhaite pas utiliser onclick, utilisez onfocus ou onblur. Si vous utilisez onblur pour les AUTRES radios, c'est presque identique.