javascript
  • jquery
  • events
  • textarea
  • 2011-07-15 14 views 13 likes 
    13
    <form name='qform'> 
    <textarea name='q' rows='3' cols='60' wrap='hard' id='q' onkeydown="if (event.keyCode == 13) document.getElementById('clickit').click()"></textarea> 
    <input type='button' value='search' id='clickit' onclick="get();"> 
    </form> 
    

    मेरे पास यह फॉर्म है ... इसमें सबमिट बटन नहीं है क्योंकि मैं jquery का उपयोग कर रहा हूं और इस फ़ॉर्म के तहत एक div क्षेत्र है जहां परिणाम दिखाए जाएंगे। यह एक खोज इंजन है जिसमें इनपुट बॉक्स नहीं है लेकिन इसके बजाय टेक्स्टटेरा है। ऐसा इसलिए है क्योंकि यह एक शब्द शब्द खोजकर्ता होगा।मैं अपने टेक्स्टरेरा पर ENTER कुंजी कैसे अक्षम कर सकता हूं?

    समस्या यह है कि अगर मैं एंटर दबाता हूं, तो क्वेरी सबमिट की जाती है और सब कुछ ठीक है ... लेकिन टेक्स्टरेरा पर ध्यान एक पंक्ति से नीचे चला जाता है और यह मेरे लिए एक समस्या है।

    असल में मैं चाहता हूं कि उस प्रविष्टि में केवल एक ही फ़ंक्शन (सबमिट) कुछ और न हो।

    +1

    सबमिट करने के बाद आप केवल टेक्स्टरेरा पर ध्यान केंद्रित कर सकते हैं। लेकिन यदि उपयोगकर्ता "खोज" बटन पर क्लिक करता है, तो वैसे भी बटन पर ध्यान केंद्रित नहीं करेगा? – RobG

    उत्तर

    9

    jQuery समारोह, उपयोग event.preventDefault में प्रयास करें और अगले तुम क्या पसंद करते हैं। उदाहरण के लिए

    <script> 
    $("a").click(function(event) { 
        event.preventDefault(); 
    //Do your logic here 
    }); 
    </script> 
    

    http://api.jquery.com/event.preventDefault/

    +0

    अच्छा के लिए अच्छा काम करता है। इसने मेरी बहुत मदद की! धन्यवाद! – www139

    10

    यदि आप एकाधिक लाइन नहीं चाहते हैं तो केवल <input type="text"> का उपयोग क्यों न करें? आपने बताया कि यह एक "एकाधिक शब्द खोजकर्ता" होगा। इसे <textarea> क्यों चाहिए?

    अद्यतन

    इस

    $('textarea').bind('keypress', function(e) { 
        if ((e.keyCode || e.which) == 13) { 
        $(this).parents('form').submit(); 
        return false; 
        } 
    }); 
    
    +0

    Google अनुवाद की तरह ही – faq

    +0

    मेरा अद्यतन उत्तर देखें –

    +6

    आप 'वापसी झूठी;' को 'e.preventDefault() 'में बदलना चाहते हैं, बस अगर कुंजीपटल बाइंडिंग DOM – qwertymk

    9
    $(document).ready(function() { 
    
    $('textarea').keypress(function(event) { 
    
        if (event.keyCode == 13) { 
         event.preventDefault(); 
        } 
    }); 
    

    });

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