Zdarzenie OnChange uruchamiany nieoczekiwanie kiedy użytkownik tabulatorem poza obszar tekstowy po raz pierwszy

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 817979 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Symptomy

Po naciśnięciu klawisza TAB w TEXTAREA formant na stronie sieci Web OnChange Zdarzenie fires, nawet jeśli zawartość formantu nie ma zmienione. Oznacza to, że program Internet Explorer niepoprawnie wykrywa wystąpiła zmiana w TEXTAREA kontroli, nawet jeżeli są wprowadzane żadne zmiany.

Przyczyna

Ten problem występuje, jeśli Ustaw tekst za pomocą skryptu TEXTAREA formant, a jeśli jest spełniony jeden z następujących warunków:
  • Tekst zawiera tylko znak wysuwu wiersza ("chr(10)" lub "\n") znak.
  • Tekst zawiera znak wysuwu wiersza ("chr(10)" lub "\n") znaków i return("chr(13) przewozu" lub "\r") znaków w określonej kolejności.
W takiej sytuacji program Internet Explorer niepoprawnie przetwarza tekst TEXTAREA formant. W wyniku OnChange Zdarzenie fires, nawet jeśli zawartość obiektu nie ma zmienione.

Rozwiązanie

Internet Explorer 6.0 z dodatkiem Service Pack 1



Obsługiwana poprawka jest dostępna w firmie Microsoft. Jednak ta poprawka jest przeznaczona do usunięcia tylko problemu opisanego w tym artykule. Tylko do systemów, w których występuje ten problem, należy zastosować tę poprawkę. Ta poprawka może być dodatkowo testowana. Jeśli dany system nie jest poważnie narażony na ten problem, firma Microsoft zaleca, aby poczekać na następną aktualizację oprogramowania zawierającą tę poprawkę.

Jeśli poprawka jest dostępna do pobrania, jest sekcja "Poprawka dostępna do pobrania" na początku tego artykułu z bazy wiedzy Knowledge Base. Ta sekcja nie jest wyświetlany, skontaktuj się z działem pomocy technicznej firmy Microsoft w celu uzyskania poprawki.

Uwaga Wystąpienia dodatkowych błędów lub konieczności rozwiązania problemu, należy utworzyć osobne zlecenie usługi. Zwykłe technicznej będą pobierane dodatkowych pytań i problemów, które nie kwalifikują się do tej poprawki. Aby uzyskać pełną listę numerów telefonów pomocy technicznej firmy Microsoft lub utworzyć osobne zlecenie usługi odwiedź następującą witrynę firmy Microsoft w sieci Web:
http://support.microsoft.com/contactus/?ws=support
Uwaga "Poprawka dostępna do pobrania" zawiera listę języków, dla których poprawka jest dostępna. Jeśli język nie jest widoczny, jest to, ponieważ poprawka nie jest dostępna dla danego języka. Wersja globalna poprawki ma atrybuty pliku (lub nowsze) wymienione w poniższej tabeli. Daty i godziny odpowiadające tym plikom są wyświetlane w formacie uniwersalnego czasu (UTC). Podczas przeglądania informacji o pliku są konwertowane na czas lokalny. Aby ró?nic? mi?dzy czasem UTC i czasem lokalnym, należy użyć Czas Strefy Karta w narzędziu Data i godzina w Panelu sterowania.
   Date         Time   Version         Size       File name
   ---------------------------------------------------------
   03-Apr-2003  17:44  6.0.2800.1184   2,787,840  Mshtml.dll

Internet Explorer 5.01 z dodatkiem Service Pack 3



Obecnie firma Microsoft udostępniła obsługiwaną poprawkę, ale jest przeznaczona tylko do usunięcia problemu opisanego w tym artykule. Powinna być stosowana tylko do systemów, w których występuje ten problem. Ta poprawka może być wciąż w fazie testowania. Jeśli dany system nie jest poważnie narażony na ten problem, firma Microsoft zaleca, aby poczekać na następny program Internet Explorer 5.01 z dodatkiem Service pack 4, zawierający tę poprawkę.

Aby natychmiast rozwiązać ten problem, skontaktuj się z pomocą techniczną firmy Microsoft w celu uzyskania poprawki. Aby uzyskać pełną listę Microsoft Product Support Services numerów telefonów i informacje o kosztach, odwiedź witrynę Witryna sieci Web firmy Microsoft:
http://support.microsoft.com/contactus/?ws=support
Uwaga W wyjątkowych przypadkach opłaty telefonujący dla Obsługa połączeń można anulować, jeśli ustali technicznej firmy Microsoft że określonej aktualizacji problem można rozwiązać. Koszty obsługi zwykłych będzie zastosowania dodatkowych pytań i problemów, które nie kwalifikują się do przedmiotowe określonej aktualizacji. Wersja globalna poprawki ma atrybuty pliku (lub nowsze) wymienione w poniższej tabeli. Daty i godziny odpowiadające tym plikom są wyświetlane w formacie uniwersalnego czasu (UTC). Podczas przeglądania informacji o pliku są konwertowane na czas lokalny. Aby ró?nic? mi?dzy czasem UTC i czasem lokalnym, należy użyć Czas Strefy Karta w narzędziu Data i godzina w Panelu sterowania.
   Date         Time   Version         Size       File name
   ---------------------------------------------------------
   02-Apr-2003  23:53  5.0.3517.200    2,356,496  Mshtml.dll

Obejście problemu

Aby obejść ten problem, wykonaj jedną z następujących czynności, jak właściwe do sytuacji:
  • Za pomocą znaku powrotu karetki przed wysuwu wiersza znakowe w TEXTAREA formant. Poniższy kod demonstruje obejścia przykład został pokazany w tym artykule:
     <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>
    
  • Ustaw flagę globalną. Na przykład:
    var flag = true;
    function test()
    {
    //Workaround
    	if(flag == true)
    	{
    		window.event.cancel = true;
    		flag = false;
    	}	
    	else
    		alert('OnChange fired');
    }

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w programie Microsoft Internet Explorer.

Więcej informacji

Kroki prowadzące do odtworzenia problemu

  1. Wklej następujący kod w programie Notatnik, a następnie zapisz go jakoTEXTAREA.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. Kliknij dwukrotnie ikonę TEXTAREA.htm Aby otworzyć go w programie Program Internet Explorer.
  3. Kliknij wewnątrz TEXTAREA Sterowanie, a następnie naciśnij klawisz TAB. Komunikat "OnChange opalanych" zostanie wyświetlone.
Firma Microsoft podaje przykłady programowania wyłącznie, bez żadnej rękojmi, wyrażonej wprost ani dorozumianej, w tym także, aby dorozumianych gwarancji przydatności handlowej i/lub przydatności do określonego celu. W tym artykule założono, że użytkownik zna język programowania oraz narzędzia używane do tworzenia i debugowania procedur. Wykwalifikowani pracownicy pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu jak działa określona procedura, ale nie będą modyfikować tych przykładów ani dodawać żadnej funkcji i konstruować nowych procedur w celu zaspokojenia określonych potrzeb.
Jeśli ma niewielkie doświadczenie w programowaniu, należy skontaktować się z certyfikowanym partnerem firmy Microsoft lub usługi doradcze firmy Microsoft. Aby uzyskać więcej informacji odwiedź następujące witryny firmy Microsoft w sieci Web:

Certyfikowani partnerzy - firmy Microsoft https://partner.microsoft.com/Global/30000104

Usługi doradcze firmy Microsoft — http://support.microsoft.com/gp/advisoryservice

Aby uzyskać więcej informacji na temat dostępnych opcji pomocy technicznej oraz sposobu kontakt z firmą Microsoft odwiedź następującą witrynę firmy Microsoft w sieci Web:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Właściwości

Numer ID artykułu: 817979 - Ostatnia weryfikacja: 24 czerwca 2011 - Weryfikacja: 2.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Internet Explorer 6.0
Słowa kluczowe: 
kbautohotfix kbhotfixserver kbqfe kbie600sp2fix kbie600presp2fix kbfix kbbug kbmt KB817979 KbMtpl
Przetłumaczone maszynowo
WAŻNE: Ten artykuł nie został przetłumaczony przez człowieka, tylko przez oprogramowanie do tłumaczenia maszynowego firmy Microsoft. Firma Microsoft oferuje zarówno artykuły tłumaczone przez ludzi, jak i artykuły tłumaczone maszynowo, dzięki czemu każdy użytkownik może uzyskać dostęp do całej zawartości bazy wiedzy Knowledge Base we własnym języku. Prosimy jednak pamiętać, że artykuły przetłumaczone maszynowo nie zawsze są doskonałe. Mogą zawierać błędy słownictwa, składni i gramatyki, przypominające błędy robione przez osoby, dla których język użytkownika nie jest językiem ojczystym. Firma Microsoft nie odpowiada za wszelkie nieścisłości, błędy lub szkody spowodowane nieprawidłowym tłumaczeniem zawartości oraz za wykorzystanie tej zawartości przez klientów. Oprogramowanie do tłumaczenia maszynowego jest często aktualizowane przez firmę Microsoft.
Anglojęzyczna wersja tego artykułu to:817979
Zastrzeżenie dotyczące artykułów z bazy wiedzy o produktach wycofanych
Ten artykuł dotyczy produktów, dla których firma Microsoft nie oferuje już pomocy technicznej. Dlatego jest on oferowany w obecnej wersji i nie będzie już aktualizowany.

Przekaż opinię

 

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