एक निश्चित बटन पर डिफ़ॉल्ट 'एन्टर' कैसे सेट करें


81

ContentPage पर एक टेक्स्टबॉक्स है। जब उपयोगकर्ता उस पाठ बॉक्स में Enter दबाता है तो मैं इस ContentPage पर 'सबमिट' बटन को आग लगाने की कोशिश कर रहा हूं। मैं उस विशेष बटन की घटना को बंद करना चाहता हूं।

इसके बजाय, एक मास्टरपेज से पृष्ठ के शीर्ष पर एक खोज टेक्स्टबॉक्स और बटन होता है, और इस खोज बटन की घटना बंद हो जाती है।

MasterPage के खोज बटन के बजाय मैं इस ContentPage के सबमिट बटन को कैसे बंद करूं?

मैं अपनी सामग्री प्रबंधन के लिए एकट्रॉन सीएमएस का उपयोग कर रहा हूं।


क्या आपके पास सामग्री पृष्ठ में एक पैनल है, शायद आप उस मामले में सबमिट के रूप में डिफ़ॉल्ट बटन सेट कर सकते हैं
V4Vendetta

धन्यवाद V4Vendetta, हाँ, मैंने इसे एक पैनल को जोड़ने और डिफॉल्टबटन को सबमिट करने के लिए निर्धारित किया है
रॉन

जवाबों:


99

सबसे आसान तरीका यह है कि फ़ील्ड और बटन को एक पैनल के अंदर रखें और डिफ़ॉल्ट बटन को उस बटन पर सेट करें जिसे आप दर्ज करना चाहते हैं।

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

कृपया ध्यान दें कि यह समाधान जावास्क्रिप्ट पर निर्भर करता है, जैसा onkeypress="javascript:return WebForm_FireDefaultButton(event, &#39;ctl00_MainContentPlaceHolder_btnSave&#39;)">कि आपके पेज में कुछ जोड़ा गया है
आर। स्चुरर्स

सही समाधान - धन्यवाद कर्क
Sensa

1
@kirk क्या होगा यदि टेक्स्ट-बॉक्स बटन के ऊपर कहीं है जिसका मतलब है कि एक साथ नहीं तो हम कैसे प्राप्त कर सकते हैं?
ज्योतिष सिंह

@ ज्योतिषसिंह आप वही काम कर सकते हैं, अगर आप TextBoxऔर Buttonउसी के भीतर करते हैं Panel। फिर DefaultButton गुण सेट करें ।
कर्क

36

यदि आपको इसे कोड से करने की आवश्यकता है, तो उपयोग करें

Me.Form.DefaultButton = Me.btn.UniqueID

btnआपका बटन नियंत्रण कहां है


16

आप DefaultButtonसर्वर-साइड formनियंत्रण या Panelनियंत्रण पर संपत्ति का उपयोग कर सकते हैं । अपने मामले में, नियंत्रणों को एक ही समूह में एक Panelही बटन से दूर करना चाहिए:

<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

अब आप सबमिट को मारते समय उन सभी बटनों को निष्क्रिय करने के लिए UseSubmitBehavior संपत्ति का उपयोग कर सकते हैं, जिन्हें आप फायर नहीं करना चाहते हैं (अधिक जानकारी के लिए दस्तावेज़ देखें)

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

1
बिल्कुल स्टार! मुझे इसकी ही आवश्यकता थी!
स्टेफानो मैगिस्ट्री

और इसके लिए अतिरिक्त html / asp.net तत्वों की आवश्यकता नहीं है जो पृष्ठ लेआउट के साथ काम नहीं कर सकते हैं।
वाल्टर

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.