2010-08-12 16 views
18

Metin kutusuna ve birçok düğmeye sahibim. Kullanıcı bazı metin kutusunda olduğunda ve "enter" tuşuna bastığında, belirli buton tıklama olayı yükseltilir. İnternette "enter" tuşuyla ilgili bazı problemler olduğunu okudum ve birkaç çözüm denedim ama yine de bu butona giriyor (bu düğme sayfadaki ilk buton). asp.net'te anahtarı yanlış girme düğmesi

Ben hiçbir şey yapmaz bir düğme oluşturma ve page_load bu yazma çalıştı:

idTextBoxFA.Attributes.Add("onkeydown","if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementBtId('" + noEnterButton.UniqueID + "').click();return false;}} else {return true}; "); 

Bütün sayfam kontroller bir formda ve ben formu oluşturduğum o düğmeye "defaultButton" özelliği veren çalıştı. Bu da işe yaramadı.

Bunun neden çalışmadığı ve neyi yanlış yaptığım hakkında bir fikriniz var mı?

+0

Olası yinelenen (http://stackoverflow.com/questions/7638119 kullanın: Sadece şu kullanın/nasıl yapılır-varsayılan-bir-giriş-on-bir-düğme-düğmesine basın) –

+0

Benimki daha önce;) –

+0

İki soru o kadar benzer ki hangisini işaretleyeceğimi bilmiyordum. StackOverflow'un eğilimi, daha önce yayınlanmış olanı değil, daha net ve daha iyi biçimlendirilmiş bir soru seçmektir. Ancak bu durumda, kelime öbeği bile yeterince benzerdi, bu yüzden daha popüler bir soruyla ve daha fazla oyu olan biriyle gittim. Afedersiniz. –

cevap

36

ENTER düğmesine basıldığında hangi gönderme düğmesinin etkinleştirileceğini denetlemek için ASP.NET'teki standart yol, bir asp: Panelde DefaultButton özelliği doğru düğüme ayarlanmış olan denetimleri ve düğmeleri sarmaktır.

Sorunuzu doğru bir şekilde okuyorsam, ENTER düğmesine basıldığında yalnızca belirli bir düğmenin etkinleştirilmesini istiyorsunuz, böylece sayfanızdaki her şeyi tek bir asp: Panel'e sarın.

<asp:Panel id="pnlDefaultButton" runat="server" DefaultButton="btnOK"> 
    <!-- All controls here including: --> 
    <asp:Button id="btnOK" runat="server" Text="OK" /> 
</asp:Panel> 
+0

teşekkürler, bunu gerçekten yararlı buldum :) – iamserious

+0

Asp nedir: İçerik? Ana sayfalar kullanıyorum ve sayfama panel veya formu yok. – Marcel

+0

@Marcel - Ne demek istediğinden emin değilim. Düğme bir içerik bölümünde ve sayfanın diğer bölümlerinde başka bir yerde olmadığı sürece, ana sayfaların kullanılması fazla değişmez. Bu durumda, içeriğinizi yeniden düzenleyebilir veya saf bir JavaScript çözümüne bakabilirsiniz. –

7

Panel gerekmez.

UseSubmitBehavior="false" 
0

[bir varsayılan ayarlarının nasıl belli butonuna 'enter'] arasında

idTextBoxFA.Attributes.Add("onkeypress", "javascript:var evnt = window.event"; 
if(evnt.keyCode==13) 
{ 
document.getElementById('" + noEnterButton.ClientID + "').click(); 
} 
else{};");