2011-05-09 8 views
7

मैं अपनी खुद की चैट करने की कोशिश कर रहा हूं ... इसलिए मेरे पास एक इनपुट टेक्स्ट फ़ील्ड है, सबमिट बटन, सबमिट भी नहीं है, यह सिर्फ एक बटन है .... इसलिए जब एंटर कुंजी दबाया जाता है, तो मुझे मूल्य चाहिए इनपुट टेक्सटेरा में दिखाई देने के लिए इनपुट फ़ील्ड (जो पढ़ा जाता है) ...मैं एंटर हैंडलर (जावास्क्रिप्ट) के रूप में एंटर कुंजी का उपयोग कैसे करूं?

अच्छी तरह से देखो .. लंबी कहानी कम करें, मुझे बस एक मूल प्रविष्टि कुंजी ईवेंट हैंडलर चाहिए, मुझे पता है कि यह सबमिट बटन के साथ पूरी तरह से काम करता है कुछ भी प्रोग्राम करने की ज़रूरत नहीं है, इसकी डिफ़ॉल्ट। लेकिन मेरा बटन टाइप = "बटन" है .... इसलिए जब आप एंटर दबाते हैं तो कुछ नहीं होता ... मैं एंटर दबाकर अपना बटन कैसे ट्रिगर करूं?

+1

इस धागे को जांचें: http://stackoverflow.com/questions/155188/trigger-button-click-with-javascript-on-enter-key-in-text-box – keyboardP

+0

एक रूप में, एक बटन तत्व एक है डिफ़ॉल्ट रूप से बटन जमा करें। यदि आप किसी फॉर्म में इनपुट सेट करते हैं और सामान्य सबमिट का उपयोग करते हैं, तो आप इसे सभी स्क्रिप्ट के साथ काम करने में सक्षम होना चाहिए। फिर जब आप XHR के साथ सबमिट को प्रतिस्थापित करने के लिए लोड करते हैं तो आप ऑनसबमिट श्रोता जोड़ सकते हैं। अब आपके पास एक चैट पेज है जो जेएस के साथ या उसके बिना काम करता है और आपके पास एक बड़ी गिरावट है। – RobG

+0

क्या एक्सएचआर, इसे सबमिट बटन बनाने में समस्या है, यह है कि जब बटन दबाया जाता है, तो पृष्ठ को चैट संदेश भेजे जाने पर हर बार रीफ्रेश करना होता है, मुझे यह सब AJAX और सबकुछ, MySQL डेटाबेस आदि के साथ काम करना पड़ता है, लेकिन मेरे पास है बटन को क्लिक करने के लिए मैं सब कुछ चैटबॉक्स में भेजता हूं, कितना लंगड़ा .... मुझे ईवेंट हैंडलर –

उत्तर

12

आप burron प्रकार सबमिट कर सकते हैं, या आप ऑनकीप ईवेंट हैंडलर का उपयोग कर सकते हैं और कुंजीकोड 13 (http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/Javascript-Char-Codes-Key-Codes.aspx कुंजी कोड की एक सूची) के लिए जांच सकते हैं। आपको यह जानना होगा कि ईवेंट से कीकोड कैसे प्राप्त करें।

संपादित करें: एक उदाहरण

HTML:

<input onkeyup="inputKeyUp(event)" ...> 

सादा जावास्क्रिप्ट:

function inputKeyUp(e) { 
    e.which = e.which || e.keyCode; 
    if(e.which == 13) { 
     // submit 
    } 
} 
+0

कि कुंजीकोड 13 शायद मैं क्या देख रहा हूं, लेकिन यह मेरे लिए अपरिचित है, मैंने इसे देखा नहीं है या इसका इस्तेमाल किया है, क्या आप मेरे लिए एक कोड स्निपेट प्रदान कर सकते हैं –

+0

धन्यवाद एंटोनियो जो बहुत अच्छा था, आसान जवाब, छोटा और जटिल नहीं –

2

यहाँ दर्ज कुंजी

के लिए सुनने के लिए एक काम कर कोड का टुकड़ा है
$(document).ready(function(){ 

    $(document).bind('keypress',pressed); 
}); 

function pressed(e) 
{ 
    if(e.keyCode === 13) 
    { 
     alert('enter pressed'); 
     //put button.click() here 
    } 
}