2012-01-17 25 views
10

संभव डुप्लिकेट ENTER पाठ बॉक्स सबमिट करें:
Bind textbox to 'enter' keyजावास्क्रिप्ट पर

मैं बनाया है ajax/jQuery चैट और वहाँ संदेश के लिए पाठ बॉक्स में कोई रूप नहीं है, इसलिए मैं नहीं भेज पाते हैं कुंजीपटल पर ENTER के साथ वह संदेश। क्या जावास्क्रिप्ट के साथ टेक्स्टबॉक्स से उस मान को सबमिट करने का कोई तरीका है?

धन्यवाद।

उत्तर

31
document.getElementById("id_of_your_textbox").addEventListener("keydown", function(e) { 
    if (!e) { var e = window.event; } 
    e.preventDefault(); // sometimes useful 

    // Enter is pressed 
    if (e.keyCode == 13) { submitFunction(); } 
}, false); 
+0

हाँ, धन्यवाद: डी – harisdev

+1

यदि आप कुछ और करने के लिए एक फ़ंक्शन का उपयोग कर रहे हैं जैसे कि मुझे e.preventDefault() को फेंकना याद था; प्रपत्र सबमिट करने से रोकने के लिए फंक्शन कॉल से पहले। – DShook

+0

मूल मुझे बॉक्स में कुछ भी टाइप करने से रोकता है, इसे उचित काम करने के लिए संपादित किया जाता है। – Pachonk

0

आपको ENTER कुंजी प्रेस ईवेंट सुनने की आवश्यकता होगी। कुछ उदाहरणों के लिए Enter key press event in JavaScript पर एक नज़र डालें।

9
$('#textboxId').keydown(function (event) { 
    var keypressed = event.keyCode || event.which; 
    if (keypressed == 13) { 
     $(this).closest('form').submit(); 
    } 
}); 

आप फार्म की जरूरत नहीं है, तो जो कुछ भी AJAX/तर्क आप प्रस्तुत साथ $(this).closest('form').submit(); बदलें।