2010-03-10 15 views
7

मैं एक टेक्स्ट इनपुट फ़ील्ड पर jQuery डेटपिकर का उपयोग कर रहा हूं और मैं उपयोगकर्ता को कीबोर्ड इनपुट के साथ टेक्स्ट इनपुट बॉक्स में किसी भी टेक्स्ट को बदलने नहीं देना चाहता हूं।मैं jQuery का उपयोग कर टेक्स्ट इनपुट फ़ील्ड में टाइपिंग की अनुमति कैसे नहीं दूं?

$('#rush_needed_by_english').keydown(function() { 
    //code to not allow any changes to be made to input field 
}); 

मैं एक पाठ इनपुट jQuery का उपयोग कर क्षेत्र में कीबोर्ड टाइपिंग कैसे अनुमति नहीं देते:

यहाँ मेरी कोड है?

उत्तर

8
$('#rush_needed_by_english').keydown(function() { 
    //code to not allow any changes to be made to input field 
    return false; 
}); 
+0

पर पारित नहीं किया जाएगा बिल्कुल सही! धन्यवाद! – zeckdude

+1

क्या यह कवर पेस्ट घटनाओं को कवर करता है? अगर मैं बॉक्स में क्लिक करता हूं, और ctrl-V टाइप करें तो क्या होगा? – Cheeso

+1

कीडाउन के बजाए कीप्रेस का प्रयोग करें। कीप्रेस अभी भी टैब, ctrl-v, आदि इत्यादि की अनुमति देगा जबकि keydown सभी चाबियाँ ब्लॉक करता है। @ चेसियो, मैं आपके प्रश्न का उत्तर देने में 5 साल का हो सकता हूं, लेकिन .... मैंने इसका उत्तर दिया! –

0

आप किए जा सकेंगे:

$('#rush_needed_by_english').attr('disabled', 'disabled'); 
+0

नहीं, जो फ़ील्ड को अक्षम भी दिखता है और मैं इससे बचने की कोशिश कर रहा हूं। मैं बस उन्हें टाइप करने में सक्षम नहीं होना चाहता। – zeckdude

+0

विशेषता अक्षम करने के साथ किसी अन्य समस्या को इन फ़ील्ड को सर्वर –

6

आप बस केवल पढ़ने के साथ मैदान बना सकता है:

$('#rush_needed_by_english').attr('readonly', 'readonly'); 

आप jQuery 1.6+ का उपयोग कर रहे हैं, तो आप prop() विधि का उपयोग करना चाहिए इसके बजाए:

$('#rush_needed_by_english').prop('readOnly', true); 
// careful, the property name string 'readOnly' is case sensitive! 

या jQuery को डुबोएं और सादा जावास्क्रिप्ट का उपयोग करें:

document.getElementById('rush_needed_by_english').readOnly = true; 
संबंधित मुद्दे