Metin alanının dışına ilk kez sekme kullanarak çıktığınızda OnChange olayı beklenmedik biçimde tetikleniyor

Makale çevirileri Makale çevirileri
Makale numarası: 817979 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Denetimin içeriğini değişmemiş olsa bile, SEKME tuşuna bir TEXTAREA denetimindeki bir Web sayfasında OnChange olayı harekete geçirilir bastığınızda. Değişiklik yaptığınız halde başka bir deyişle, ınternet Explorer yanlış bir değişiklik TEXTAREA denetimde oluştuğunu algıladı.

Neden

Bu sorun, TEXTAREA denetim metnini ayarlamak için komut dosyası kullanıyorsanız ve aşağıdaki koşullardan biri doğru olduğunda oluşur:
  • Metin yalnızca bir satır besleme ("chr(10)" veya "\n") karakteri içeriyor.
  • Metin ("chr(10)" veya "\n") karakter ve bir şaryo return("chr(13) satır içeriyor" veya "\r"), belirli bir sırada karakter.
Bu durumda, ınternet Explorer TEXTAREA denetimin metin hatalı biçimde işler. Nesnenin içeriğini değişmemiş olsa bile bu sonuç, OnChange olayı, tetikler.

Çözüm

Internet Explorer 6.0 Service Pack 1



Desteklenen bir düzeltme Microsoft'tan edinilebilir. Ancak bu düzeltmenin, yalnızca bu makalede anlatılan sorunu gidermesi amaçlanmıştır. Bu düzeltmeyi yalnızca bu sorunla karşılaşan sistemlere uygulayın. Bu düzeltme ek sınamaya tabi olabilir. Bu nedenle, bu sorun nedeniyle önemli ölçüde etkilenmediyseniz, bu düzeltmeyi içeren bir sonraki yazılım güncelleştirmesini beklemeniz önerilir.

Düzeltme karşıdan yüklenebilir ise bu Bilgi Bankası makalesinin başında "Düzeltme karşıdan yüklenebilir" bölümü bulunur. Bu bölüm görünmüyorsa, düzeltmeyi edinmek üzere Microsoft Müşteri Hizmetleri ve Destek ekibine başvurun.

Not Ek sorunlar oluşursa veya tüm sorun giderme işlemi gerekmiyorsa, ayrı bir hizmet isteği oluşturmanız gerekebilir. Ek destek sorularına ve bu düzeltme için geçerli olmayan sorunlara normal destek ücretleri uygulanır. Microsoft Müşteri Hizmetleri ve Destek telefon numaralarının tam listesi veya ayrı bir hizmet isteği oluşturmak için, aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/contactus/?ws=support
Not "Düzeltme karşıdan yüklenebilir" formunda, düzeltmenin kullanılabilir olduğu diller görüntülenir. Kendi dilinizi görmüyorsanız, bunun nedeni bu düzeltme, seçtiğiniz dil için kullanılamaz.Bu düzeltmenin genel sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yenisi) sahiptir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'e (UTC) göre listelenir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için <a0></a0>, Denetim Masası'ndaki Tarih ve Saat aracında saat dilimi sekmesini kullanın.
   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



Desteklenen bir düzeltme Microsoft'tan edinilebilir, ancak yalnızca bu makalede anlatılan sorunu düzeltmesi amaçlanmıştır. Düzeltmeyi yalnızca bu sorunla karşılaşan sistemlere uygulayın. Bu düzeltmeye ek sınama uygulanabilir. Bu nedenle, sorundan ciddi olarak bu sorundan ciddi bir şekilde etkilenmiyorsanız, bu düzeltmeyi içeren sonraki ınternet Explorer 5.01 hizmet paketini 4 beklemeniz önerilir.

Bu sorunun derhal çözülmesini sağlayacak düzeltmeyi edinmek için Microsoft Ürün Destek Hizmetleri'ne başvurun. Microsoft Ürün Destek Hizmetleri'nin telefon numaralarının tam listesi ve destek ücretleriyle ilgili bilgi için, aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/contactus/?ws=support
Not Özel durumlarda, Microsoft Destek Uzmanı özel bir güncelleştirmenin sorununuzu çözümleyeceğini belirlerse, destek aramaları için normalde uygulanan ücretler iptal edilebilir. Ek destek sorularına ve söz konusu güncelleştirme için geçerli olmayan sorunlara normal destek ücretleri uygulanır. Bu düzeltmenin genel sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yenisi) sahiptir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'e (UTC) göre listelenir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için <a0></a0>, Denetim Masası'ndaki Tarih ve Saat aracında saat dilimi sekmesini kullanın.
   Date         Time   Version         Size       File name
   ---------------------------------------------------------
   02-Apr-2003  23:53  5.0.3517.200    2,356,496  Mshtml.dll

Pratik Çözüm

Bu soruna geçici bir çözüm bulmak için durumunuza bağlı olarak, aşağıdakilerden birini yapın:
  • Satır besleme karakteri TEXTAREA denetimde önce şaryo dönüş karakteri kullanın. Aşağıdaki kodda, geçici bir çözüm için bu makalenin önceki bölümlerinde gösterilen örnek gösterilmiştir:
     <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>
    
  • Bir genel bayrağını ayarlayın. Örneğin:
    var flag = true;
    function test()
    {
    //Workaround
    	if(flag == true)
    	{
    		window.event.cancel = true;
    		flag = false;
    	}	
    	else
    		alert('OnChange fired');
    }

Durum

Microsoft bu sorunun Microsoft ınternet Explorer'da bulunduğunu onaylamıştır.

Daha fazla bilgi

Sorunu Yeniden Oluşturma Adımları

  1. Aşağıdaki kodu Not Defteri içinde yapıştırın ve sonra TEXTAREA.htm kaydedin.
    <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. TEXTAREA.htm ınternet Explorer'da açmak için çift tıklatın.
  3. TEXTAREA denetimin içini tıklatın ve sonra da SEKME tuşuna basın. Bir "OnChange harekete" iletisi görüntülenir.
Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; satılabilirlik ve/veya belirli bir amaca uygunluk da dahil, ancak bununla sınırlı olmamak kaydıyla, örtülü veya açık garanti vermez. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek uzmanları, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir, ancak gereksinimlerinizi karşılamaya yönelik olarak ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmezler.
Programlama deneyiminiz kısıtlıysa, bir Microsoft Sertifikalı İş Ortağı'na veya Microsoft Danışmanlık Hizmetleri'ne başvurabilirsiniz. Daha fazla bilgi için şu Microsoft Web sitelerini ziyaret edin:

Microsoft Partner - https://partner.microsoft.com/global/30000104 Onaylandı

Microsoft danışma belgesi Hizmetleri - http://support.microsoft.com/gp/advisoryservice

Kullanılabilir destek seçenekleri ve Microsoft'a başvurma konusunda daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Özellikler

Makale numarası: 817979 - Last Review: 10 Şubat 2014 Pazartesi - Gözden geçirme: 1.7
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Internet Explorer 6.0
  • Microsoft Internet Explorer 5.01
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbautohotfix kbhotfixserver kbqfe kbie600sp2fix kbie600presp2fix kbfix kbbug KB817979 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir: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