2011-05-19 14 views
7

कुंजी प्रेस ईवेंट के दौरान, asp.net mvc का उपयोग कर टेक्स्टरेरा में कैरिज रिटर्न, नई लाइन, सिंगल कोट्स और डबल कोट्स दर्ज करने में मैं कैसे ब्लॉक करूं?टेक्स्टरेरा में कैरिज रिटर्न दर्ज करने से कैसे रोकें?

+0

यदि आप ए) पूर्ण वाक्य में लिखते हैं, और बी) दिखाएं कि आपने अपनी समस्या को हल करने का प्रयास किया है तो आपको और अधिक सहायता मिल जाएगी। http://www.google.com/search?q=javascript+prevent+certain+characters+from+being+entered –

+1

@ निक ओडेल - यह सच नहीं है निक। ए) सभी के पास अंग्रेजी भाषा की पूर्ण निपुणता नहीं है, उनके प्रश्न को संपादित करने के लिए @Tim को समझना काफी आसान था। बी) कोई सवाल बहुत छोटा नहीं है। – jfar

+0

इस वेबसाइट में सभी कीकोड्स की सूची शामिल है जिनकी किसी भी आवश्यकता हो सकती है: http://www.expandinghead.net/keycode.html –

उत्तर

27

आप jQuery का उपयोग करें और पाठ क्षेत्र के .keypress() घटना के लिए सदस्यता ले सकता है:

$('textarea').keypress(function(event) { 
    // Check the keyCode and if the user pressed Enter (code = 13) 
    // disable it 
    if (event.keyCode == 13) { 
     event.preventDefault(); 
    } 
}); 
+4

FWIW: यदि आप 'कीप्रेस' ईवेंट का उपयोग नहीं करना चाहते हैं, तो आप एंटर कुंजी दबा सकते हैं 'keydown' ईवेंट के दौरान' .preventDefault() 'का उपयोग करके प्रभाव। जब तक यह 'कीपअप' घटना को हिट करता है, तब तक कैरिज रिटर्न दर्ज हो चुका है। – Jason

+6

मैं वास्तव में नहीं देखता कि यह अंतिम समाधान क्यों है। क्या होगा यदि आप पेस्ट करते हैं? अंतिम समाधान इस फ़ंक्शन को चलाने के लिए है जब आप फॉर्म जमा करते हैं, इसलिए यह एक बार चेक किया जाता है, हर बार जब आप इसमें टाइप नहीं करते हैं। यह सिर्फ एक अपशिष्ट की तरह लगता है। –

+0

@TheMuffinMan आप कई घटनाओं को सुनकर डारिन डिमिट्रोव से समाधान को अनुकूलित कर सकते हैं, आपके आपत्ति के मामले में "परिवर्तन" ईवेंट ट्रिगर हो गया है और आप कैरिज रिटर्न खोजने के लिए चिपके हुए पाठ को खींच सकते हैं या खींच सकते हैं। –

2

उपयोगकर्ता के खींचें की वजह से पाठ संशोधन के साथ सहज होने के लिए और पाठ क्षेत्र के अंदर या द्वारा अन्य पाठ/तत्वों की ड्रॉप पेस्टिंग इसके अंदर पाठ, change ईवेंट पर भी जरूरी है।

इसके अलावा, मैं jQuery 1.7 के बाद से .on() विधि, उपलब्ध का उपयोग करने के, और घटना वस्तु की event.which संपत्ति के माध्यम से उपयोगकर्ता द्वारा दबाया दर्ज कुंजी पता लगाने के लिए सुझाव देते हैं, अपने अनुप्रयोग का एक ठोस पार ब्राउज़र के व्यवहार के लिए:

var $textarea = $('#comment'); 
// events to bind: 
$textarea.on('keydown keyup change focus blur', function(e) { 
    if (e.type === 'change') { 
     // this event is triggered when the text is changed through drag and drop too, 
     // or by pasting something inside the textarea; 
     // remove carriage returns (\r) and newlines (\n): 
     $textarea.val($textarea.val().replace(/\r?\n/g, '')); 
    } 
    if (e.which === 13) { 
     // the enter key has been pressed, avoid producing a carriage return from it: 
     e.preventDefault(); 
    } 
}); 
संबंधित मुद्दे