2008-10-16 13 views
6

मेरे पास textbox है जिसका इनपुट jQuery द्वारा संभाला जा रहा है।क्या उपयोगकर्ता पोस्टबैक को रद्द कर सकता है जब उपयोगकर्ता टेक्स्टबॉक्स में वापस आ जाता है?

$('input.Search').bind("keyup", updateSearchTextbox); 

जब मैं पाठ बॉक्स में Enter दबाते हैं, तो मैं एक पोस्टबैक है, जो सब कुछ को खराब करता मिलता है। मैं उस एंटर को कैसे जा सकता हूं और इसे अनदेखा कर सकता हूं?

(बस एक संभव सुझाव जगह ले लेना करने के लिए: पाठ बॉक्स एक <asp:textbox ... /> हो गया है - मैं एक <input ... /> से बदलने नहीं जा सकता।)

उत्तर

13

आपका ब्राउज़र अपने पर्चे को जमा किया जाता है जब आप दबाएं। इसे रद्द करने के लिए, अपने अपडेट SearchTextBox फ़ंक्शन पर झूठी वापसी जोड़ें।

है कि अगर काम नहीं करता है, इस प्रयास करें:

<script language="JavaScript"> 

function disableEnterKey(e) 
{ 
    var key;  
    if(window.event) 
      key = window.event.keyCode; //IE 
    else 
      key = e.which; //firefox  

    return (key != 13); 
} 

</script> 

और अपने codebehind में:

textbox.Attributes.Add("OnKeyPress","return disableEnterKey(event)"); 
+2

इनलाइन स्क्रिप्ट घटनाओं Naff कर रहे हैं .... उनसे बचने: यह मेरा नया updateSearchTextbox समारोह है, जो पूरी तरह से काम करता है। मुझे पता है कि एएसपीनेट उन्हें पसंद करता है लेकिन ..... मेरे जीवन का झुकाव grrrr – redsquare

0

उत्तर देने वाले सभी लोगों के लिए धन्यवाद।

updateSearchTextbox = function(e) { 
    /// <summary> 
    /// Handles keyup event on search textbox 
    /// </summary> 

    if (e.which == "13") { 
     // update now 
     updateConcessions(); 
     // Don't post back 
     return (false); 
    } else { 
     delayedUpdateConcessions(); 
    } 

} 
संबंधित मुद्दे

 संबंधित मुद्दे