belirli bir düğme için varsayılan bir 'giriş' nasıl ayarlanır


81

ContentPage'de bir metin kutusu vardır. Kullanıcı bu metin kutusunda Enter tuşuna bastığında, bu ContentPage'de bir 'Gönder' düğmesini ateşlemeye çalışıyorum. O belirli düğmenin olayını ateşlemek istiyorum.

Bunun yerine, sayfanın üstünde bir MasterPage'den bir arama metin kutusu ve düğmesi vardır ve bu arama düğmesinin olayı tetiklenir.

MasterPage'in arama düğmesi yerine bu ContentPage'in gönder düğmesinin ateşlenmesini nasıl kontrol edebilirim?

İçerik yönetimim için Ektron CMS kullanıyorum.


İçerik sayfasında bir paneliniz var mı, belki bu durumda gönder olarak varsayılan düğmeyi ayarlayabilirsiniz
V4Vendetta

Teşekkürler V4Vendetta, evet, bunu bir panel ekleyerek ve gönderilecek varsayılan düğmeyi ayarlayarak çözdüm
Ron

Yanıtlar:


99

En kolay yol, alanları ve düğmeyi bir Panelin içine yerleştirmek ve varsayılan düğmeyi, girişte etkinleştirilmesini istediğiniz düğmeye ayarlamaktır.

<asp:Panel ID="p" runat="server" DefaultButton="myButton">
  <%-- Text boxes here --%>
  <asp:Button ID="myButton" runat="server" />
</asp:Panel>

Lütfen bu çözümün javascript'e dayandığını unutmayın, benzer bir şey onkeypress="javascript:return WebForm_FireDefaultButton(event, &#39;ctl00_MainContentPlaceHolder_btnSave&#39;)">sayfanıza eklendi
R. Schreurs

Mükemmel Çözüm - Teşekkürler Kirk
Sensa

1
@kirk Ya metin kutusu düğmenin üstünde bir yerdeyse, demek istediğim birlikte değil, o zaman aynı şeyi nasıl başarabiliriz?
Jyotish Singh

@JyotishSingh Eğer aynı TextBoxve Buttoniçine koyarsanız aynı şeyi yapabilirsiniz Panel. Daha sonra DefaultButton özelliğini ayarlayın .
Kirk

36

bunu koddan yapmanız gerekiyorsa, kullanın

Me.Form.DefaultButton = Me.btn.UniqueID

btnDüğme kontrolünüz nerede .


16

Sen kullanabilirsiniz DefaultButtonbir sunucu tarafı ya mülk formkontrolü veya Paneldenetimi. Sizin durumunuzda, kontrolleri Panelaynı düğmeyi ateşlemesi gereken bir şekilde gruplayın :

<asp:Panel ID="SearchBox" runat="server" DefaultButton="BtnSearch">
    ...
    <asp:Button ID="BtnSearch" runat="server" Text="Search!" />
</asp:Panel>
....
<asp:Panel ID="UserPanel" runat="server" DefaultButton="BtnUserSubmit">
    ...
    <asp:Button ID="BtnUserSubmit" runat="server" Text="Submit" />
</asp:Panel>

6

Gönder düğmesine bastığınızda ateşlemek istemediğiniz tüm düğmeleri devre dışı bırakmak için artık UseSubmitBehavior özelliğini kullanabilirsiniz (daha fazla bilgi için belgelere bakın)

    <asp:Button ID="BtnNotToFIre" runat="server" Text="Search" UseSubmitBehavior="false" />

1
Mutlak yıldız! İhtiyacım olan şey bu!
Stefano Magistri

Ve sayfa düzeniyle çalışmayabilecek ek html / asp.net öğeleri gerektirmez.
Walter

0
$(document).ready(function(){
    document.getElementById("text_box_id")
    .addEventListener("keyup", function(event) {
    event.preventDefault();
    if (event.keyCode === 13) {
        document.getElementById("button_id").click();
    }
    });
});

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.