OnChange (evento) activa inesperadamente cuando se etiqueta fuera de un área de texto por primera vez

Seleccione idioma Seleccione idioma
Id. de artículo: 817979 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

En esta página

Síntomas

Cuando se presiona la tecla TAB en un control TEXTAREA en una página Web, el evento OnChange se desencadena, aunque el contenido del control no ha cambiado. Es decir, Internet Explorer incorrectamente detecta que ha producido un cambio en el control TEXTAREA , aunque no se realiza ningún cambio.

Causa

Este problema se produce si utiliza secuencias de comandos para establecer el texto del control TEXTAREA , y si se cumple alguna de las condiciones siguientes:
  • El texto contiene sólo un carácter de ("Chr (10)" o "\n") de avance de línea.
  • El texto contiene un salto de línea carácter ("Chr (10)" o "\n") y un return("chr(13) carro" o "\r") caracteres, en ese orden específico.
En esta situación, Internet Explorer procesa incorrectamente el texto del control TEXTAREA . Como resultado, se desencadena el evento OnChange , aunque no ha cambiado el contenido del objeto.

Solución

Internet Explorer 6.0 Service Pack 1



Hay una revisión compatible de Microsoft. Sin embargo, esta revisión se diseñó para corregir el problema descrito en este artículo. Aplíquela sólo a los sistemas que experimenten este problema específico. Esta revisión podría sometida a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere a la siguiente actualización de software que contenga este hotfix.

Si la revisión está disponible para descarga, es hay una sección de "Descarga de revisión disponible" al principio de este artículo. Póngase en contacto si no aparece en esta sección, con los Microsoft cliente Servicios de y soporte técnico para obtener la revisión de.

Nota Si se producen problemas adicionales o si cualquier solución de problemas es necesario, quizás tenga que crear una solicitud de servicio independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no guarden relación con esta revisión específica. Para obtener una lista completa de números de teléfono de servicio de atención al cliente y soporte técnico o para crear una solicitud de servicio independiente, visite el siguiente sitio Web:
http://support.microsoft.com/contactus/?ws=support
Nota El formulario "Descarga de revisión disponibles" muestra los idiomas para que la revisión está disponible. Si no ve su idioma, es porque una revisión no está disponible para ese idioma.La versión global de esta revisión tiene los atributos de archivo enumerados en la siguiente tabla u otros posteriores. Las fechas y horas de estos archivos aparecen en hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para averiguar la diferencia entre hora UTC y la hora local, utilice la ficha zona horaria de la herramienta fecha y hora en el panel de control.
   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



Ahora hay disponible un hotfix para el que Microsoft proporciona soporte técnico, pero que sólo se diseñó para corregir el problema descrito en este artículo. Aplíquelo sólo a sistemas que experimenten este problema específico. Este hotfix puede ser sometido a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere al próximo Internet Explorer 5.01 service pack 4 que contenga este hotfix.

Para resolver este problema inmediatamente, póngase en contacto con los Servicios de soporte técnico de Microsoft con el fin de obtener la revisión. Para una lista completa de teléfono de soporte técnico de Microsoft números e información sobre los costos de soporte técnico, visite el siguiente sitio Web de Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota en casos especiales, los costos derivados normalmente de las llamadas al soporte técnico pueden cancelarse si un profesional de soporte técnico de Microsoft determina que una actualización específica resolverá el problema. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no guarden relación con la actualización en cuestión. La versión global de esta revisión tiene los atributos de archivo enumerados en la siguiente tabla u otros posteriores. Las fechas y horas de estos archivos aparecen en hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para averiguar la diferencia entre hora UTC y la hora local, utilice la ficha zona horaria de la herramienta fecha y hora en el panel de control.
   Date         Time   Version         Size       File name
   ---------------------------------------------------------
   02-Apr-2003  23:53  5.0.3517.200    2,356,496  Mshtml.dll

Solución

Para evitar este problema, realice una de las siguientes acciones, según su situación:
  • Utilice el carácter retorno de carro antes de carácter de avance de la línea en el control TEXTAREA . El código siguiente muestra una solución para el ejemplo que se mostró anteriormente en este artículo:
     <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>
    
  • Establecer un indicador global. Por ejemplo:
    var flag = true;
    function test()
    {
    //Workaround
    	if(flag == true)
    	{
    		window.event.cancel = true;
    		flag = false;
    	}	
    	else
    		alert('OnChange fired');
    }

Estado

Microsoft ha confirmado que este es un problema en Microsoft Internet Explorer.

Más información

Pasos para reproducir el problema

  1. Pegue el código siguiente en Bloc de notas y, a continuación, guárdelo como 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. Haga doble clic en TEXTAREA.htm para abrirlo en Internet Explorer.
  3. Haga clic en dentro del control TEXTAREA y, a continuación, presione la tecla TAB. Aparece un mensaje de "OnChange se desencadena".
Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita, incluyendo, pero sin limitarse a, las garantías implícitas de comerciabilidad e idoneidad para un propósito determinado. En este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y las herramientas utilizadas para crear y depurar procedimientos. Los profesionales de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos a necesidades específicas.
Si tiene poca experiencia en programación, desea póngase en contacto con un Microsoft Certified Partner o servicios de consultoría de Microsoft. Para obtener más información, visite estos sitios Web de Microsoft:

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

Servicios de asesoramiento de Microsoft - http://support.microsoft.com/gp/advisoryservice

Para obtener más información acerca de las opciones de soporte técnico que están disponibles y cómo ponerse en contacto con Microsoft, visite el siguiente sitio Web de Microsoft: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Propiedades

Id. de artículo: 817979 - Última revisión: domingo, 09 de febrero de 2014 - Versión: 1.7
La información de este artículo se refiere a:
  • Microsoft Internet Explorer 6.0
  • Microsoft Internet Explorer 5.01
Palabras clave: 
kbnosurvey kbarchive kbmt kbautohotfix kbhotfixserver kbqfe kbie600sp2fix kbie600presp2fix kbfix kbbug KB817979 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 817979

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