Déclenche des événements OnChange inopinément lorsque vous onglet d'une zone de texte pour la première fois

Traductions disponibles Traductions disponibles
Numéro d'article: 817979 - Voir les produits auxquels s'applique cet article
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Agrandir tout | Réduire tout

Sommaire

Symptômes

Lorsque vous appuyez sur la touche TAB dans un contrôle TEXTAREA sur une page Web, l'événement OnChange se déclenche même si le contenu du contrôle n'ont pas été modifié. Autrement dit, Internet Explorer incorrecte détecte qu'une modification survenue dans le contrôle TEXTAREA , même si aucune modification n'est apportée.

Cause

Ce problème se produit si vous utilisez un script pour définir le texte du contrôle TEXTAREA et si une des conditions suivantes est remplie :
  • Le texte contient uniquement une saut de ligne ("chr(10)" ou "\n") caractère.
  • Le texte contient une ligne de flux de caractères («chr(10)» ou "\n") et un return("chr(13) chariot" ou "\r") caractères, dans l'ordre spécifique.
Dans ce cas, Internet Explorer traite incorrectement le texte du contrôle TEXTAREA . Par conséquent, l'événement OnChange se déclenche, même si le contenu de l'objet n'ont pas été modifié.

Résolution

Internet Explorer 6.0 Service Pack 1



Un correctif pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif est conçu pour corriger le problème décrit dans cet article. Appliquer ce correctif uniquement aux systèmes rencontrant ce problème spécifique. Ce correctif va peut-être subir des tests. Par conséquent, si vous n'êtes pas sérieusement concerné par ce problème, nous vous recommandons d'attendre la prochaine mise à jour logicielle qui contient ce correctif.

Si le correctif est disponible pour téléchargement, il existe une section «Téléchargement de correctif logiciel disponible» en haut de cet article de base de connaissances. Si cette section n'apparaît pas, contactez le service clientèle de Microsoft et de support pour obtenir le correctif.

Remarque Si des problèmes supplémentaires se produisent ou si n'importe quelle résolution des problèmes sont requis, vous devrez peut-être créer une demande de service distincte. Les coûts habituels du support technique s'appliqueront aux autres questions et problèmes qui ne relèvent pas de ce correctif spécifique. Pour obtenir une liste complète de numéros de téléphone Microsoft Services de support technique ou à créer une demande de service distincte, site Web Microsoft suivant :
http://support.microsoft.com/contactus/?ws=support
Remarque Le formulaire «Téléchargement de correctif logiciel disponible» affiche les langues pour lesquelles le correctif est disponible. Si vous ne voyez pas votre langue, il est, car un correctif n'est pas disponible pour cette langue.La version globale de ce correctif dispose des attributs de fichier (ou version ultérieure) répertoriés dans le tableau suivant. La date et heures de ces fichiers sont exprimées en temps universel coordonné (UTC). Lorsque vous affichez les informations du fichier, il est converti en heure locale. Pour connaître la différence entre l'UTC et l'heure locale, utilisez l'onglet fuseau horaire dans l'outil Date et heure du Panneau de configuration.
   Date         Time   Version         Size       File name
   ---------------------------------------------------------
   03-Apr-2003  17:44  6.0.2800.1184   2,787,840  Mshtml.dll

Internet Explorer 5.01 Service Pack 3



Un correctif pris en charge est désormais disponible auprès de Microsoft, mais il ne vise qu'à corriger le problème décrit dans cet article. Appliquez-le uniquement à systèmes qui rencontrent ce problème spécifique. Ce correctif peut être soumise autres tests. Par conséquent, si vous n'êtes pas sérieusement concerné par ce problème, nous vous recommandons d'attendre le prochain Internet Explorer 5.01 service pack 4 contenant ce correctif.

Pour résoudre ce problème immédiatement, contactez le support technique Microsoft pour obtenir le correctif. Pour une liste complète des services de support technique Microsoft de téléphone numéros et des informations sur les coûts de prise en charge, consultez le site Microsoft suivant :
http://support.microsoft.com/contactus/?ws=support
Remarque Dans certains cas, aucuns normalement des appels de support seront facturés si un technicien du support technique Microsoft détermine qu'une mise à jour spécifique peut résoudre votre problème. Les coûts habituels du support technique s'appliqueront aux autres questions et problèmes qui ne relèvent pas de la mise à jour spécifique en question. La version globale de ce correctif dispose des attributs fichier (ou version ultérieure) répertoriés dans le tableau suivant. La date et heures de ces fichiers sont exprimées en temps universel coordonné (UTC). Lorsque vous affichez les informations du fichier, il est converti en heure locale. Pour connaître la différence entre l'UTC et l'heure locale, utilisez l'onglet fuseau horaire dans l'outil Date et heure du Panneau de configuration.
   Date         Time   Version         Size       File name
   ---------------------------------------------------------
   02-Apr-2003  23:53  5.0.3517.200    2,356,496  Mshtml.dll

Contournement

Pour contourner ce problème, effectuez l'une des méthodes suivantes, selon votre situation :
  • Utilisez le caractère retour chariot avant la saut de ligne dans le contrôle TEXTAREA . Le code suivant illustre une solution pour l'exemple a illustré plus haut dans cet article :
     <HTML>
    <HEAD>
    </HEAD>
    	<BODY >
    	<TEXTAREA id="TEXTAREA1" name="TEXTAREA1" OnChange="test()" style="width:400px;height:80px"></TEXTAREA>
    <script language="JScript">
    var str="A" + "\r"+"\n" + "B";
    document.all("TEXTAREA1").value=str;
    function test()
    {
    alert("OnChange fired");
    }
    </script>
    	</BODY>
    </HTML>
    
  • Définir un indicateur global. Par exemple :
    var flag = true;
    function test()
    {
    //Workaround
    	if(flag == true)
    	{
    		window.event.cancel = true;
    		flag = false;
    	}	
    	else
    		alert('OnChange fired');
    }

Statut

Microsoft a confirmé le que de ce problème dans Microsoft Internet Explorer.

Plus d'informations

Procédure pour reproduire le problème

  1. Collez le code suivant dans le bloc-notes et enregistrez-le en tant que TEXTAREA.htm .
    <HTML>
    <HEAD>
    </HEAD>
    	<BODY >
    	<TEXTAREA id="TEXTAREA1" name="TEXTAREA1" OnChange="test()" style="width:400px;height:80px"></TEXTAREA>
    <script language="JScript">
    var str="A" + "\n" + "B";
    document.all("TEXTAREA1").value=str;
    function test()
    {
    alert("OnChange fired");
    }
    </script>
    	</BODY>
    </HTML>
    
  2. Double-cliquez sur TEXTAREA.htm pour l'ouvrir dans Internet Explorer.
  3. Cliquez dans le contrôle TEXTAREA et appuyez sur la touche TAB. Un message «OnChange déclenché» s'affiche.
Microsoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie expresse ou implicite, y compris, mais sans limitation, toute garantie implicite de qualité marchande et/ou d'adéquation à un usage particulier. Cet article suppose que vous êtes familiarisé avec le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Professionnels du support technique Microsoft peuvent vous expliquer la fonctionnalité d'une procédure particulière, mais ils ne modifieront pas ces exemples afin de fournir des fonctionnalités supplémentaires ou des procédures pour répondre à vos besoins spécifiques de construction.
Si vous avez partiellement la programmation, il convient contacter un partenaire certifié Microsoft ou services de conseil Microsoft. Pour plus d'informations, visitez ces sites Web de Microsoft :

Microsoft certifié Partners - https://partner.microsoft.com/global/30000104

Services de conseil Microsoft - http://support.microsoft.com/gp/advisoryservice

Pour plus d'informations sur les options de support sont disponibles et sur la façon de contacter Microsoft, consultez le site Microsoft suivant : http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Propriétés

Numéro d'article: 817979 - Dernière mise à jour: dimanche 9 février 2014 - Version: 1.7
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Internet Explorer 6.0
  • Microsoft Internet Explorer 5.01
Mots-clés : 
kbnosurvey kbarchive kbmt kbautohotfix kbhotfixserver kbqfe kbie600sp2fix kbie600presp2fix kbfix kbbug KB817979 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 817979
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com