Evento OnChange é acionado inesperadamente quando você guia de uma área de texto pela primeira vez

Traduções deste artigo Traduções deste artigo
ID do artigo: 817979 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Quando você pressiona a tecla TAB em um controle TEXTAREA em uma página da Web, o evento OnChange é acionado, mesmo que o conteúdo do controle não foi alterado. Isto é, Internet Explorer incorretamente detecta que ocorreu uma alteração no controle TEXTAREA , mesmo que nenhuma alteração é feita.

Causa

Esse problema ocorre se você usar scripts para definir o texto do controle TEXTAREA e se qualquer uma das seguintes condições for verdadeira:
  • O texto contiver somente uma linha de alimentação de caractere ("chr(10)" ou "\n").
  • O texto contém uma alimentação de linha caractere ("chr(10)" ou "\n") e um return("chr(13) carro" ou "\r") caracteres, em que ordem específica.
Nessa situação, o Internet Explorer processa incorretamente o texto do controle TEXTAREA . Como resultado, o OnChange evento é acionado, mesmo que o conteúdo do objeto não foi alterado.

Resolução

Internet Explorer 6.0 Service Pack 1



Um hotfix suportado está disponível no Microsoft. No entanto, esse hotfix destina-se a corrigir o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico. Esta correcção poderá submetida a testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, recomendamos que você aguarde a próxima atualização de software que contém esse hotfix.

Se o hotfix está disponível para download, há uma seção "Download de Hotfix disponível" na parte superior neste artigo da Base de dados de Conhecimento. Se esta seção não for exibida, contate o atendimento e suporte para obter o hotfix.

Observação Se ocorrerem problemas adicionais ou se qualquer solução de problemas é necessária, talvez você precise criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a questões de suporte adicionais e problemas que não se qualificam para esse hotfix específico. Para obter uma lista completa de números de telefone de suporte e Atendimento Microsoft ou para criar uma solicitação de serviço separada, visite o seguinte site:
http://support.microsoft.com/contactus/?ws=support
Observação O formulário "Download de Hotfix disponível" exibe os idiomas para os quais o hotfix está disponível. Se você não vir seu idioma, é porque um hotfix não está disponível para esse idioma.A versão global desta correção apresenta os atributos de arquivo (ou posteriores) listados na tabela a seguir. As datas e horas desses arquivos são listadas em tempo de universal coordenado (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário na ferramenta Data e hora no painel de controle.
   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



Um hotfix suportado agora está disponível da Microsoft, mas destina-se somente a corrigir o problema descrito neste artigo. Aplique-o somente nos sistemas que apresentarem esse problema específico. Esta correcção poderá submetida a testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, recomendamos que você aguarde o próximo Internet Explorer 5.01 service pack 4 que contém esse hotfix.

Para resolver esse problema imediatamente, contate o Atendimento Microsoft para obter a correção. Para uma lista completa de telefone do Atendimento Microsoft números e informações sobre os custos de suporte, visite o seguinte site:
http://support.microsoft.com/contactus/?ws=support
Observação Em alguns casos, as taxas cobradas pelas ligações para chamadas de suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos normais de suporte serão aplicados a questões e problemas que não se qualificam à atualização específica em questão de suporte adicionais. A versão global desta correção apresenta os atributos de arquivo (ou posteriores) listados na tabela a seguir. As datas e horas desses arquivos são listadas em tempo de universal coordenado (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário na ferramenta Data e hora no painel de controle.
   Date         Time   Version         Size       File name
   ---------------------------------------------------------
   02-Apr-2003  23:53  5.0.3517.200    2,356,496  Mshtml.dll

Como Contornar

Para contornar esse problema, siga um destes procedimentos, conforme apropriado para sua situação:
  • Use o caractere de retorno de carro antes de caractere de avanço de linha no controle TEXTAREA . O código a seguir demonstra uma solução alternativa para o exemplo mostrado anteriormente neste artigo:
     <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>
    
  • Defina um sinalizador global. Por exemplo:
    var flag = true;
    function test()
    {
    //Workaround
    	if(flag == true)
    	{
    		window.event.cancel = true;
    		flag = false;
    	}	
    	else
    		alert('OnChange fired');
    }

Situação

A Microsoft confirmou que este é um problema no Microsoft Internet Explorer.

Mais Informações

Etapas para reproduzir o problema

  1. Cole o seguinte código no bloco de notas e, em seguida, salve-o 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. Clique duas vezes em TEXTAREA.htm para abri-lo no Internet Explorer.
  3. Clique dentro do controle TEXTAREA e, em seguida, pressione a tecla TAB. Uma mensagem de "OnChange acionado" será exibida.
Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita, incluindo, mas não se limitando às garantias implícitas de comercialização e/ou adequação a uma finalidade específica. Este artigo presume que você esteja familiarizado com a linguagem de programação demonstrada e as ferramentas usadas para criar e depurar procedimentos. Profissionais de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades específicas.
Se você não tenha muita experiência de programação, talvez queira em contato com um Microsoft Certified Partner ou Microsoft Advisory Services. Para obter mais informações, visite da Microsoft:

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

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

Para obter mais informações sobre as opções de suporte estão disponíveis e sobre como entrar em contato com a Microsoft, visite o seguinte site: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Propriedades

ID do artigo: 817979 - Última revisão: sábado, 26 de outubro de 2013 - Revisão: 1.7
A informação contida neste artigo aplica-se a:
  • Microsoft Internet Explorer 6.0
  • Microsoft Internet Explorer 5.01
Palavras-chave: 
kbnosurvey kbarchive kbmt kbautohotfix kbhotfixserver kbqfe kbie600sp2fix kbie600presp2fix kbfix kbbug KB817979 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 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