2010-10-28 13 views
74

मैं इनपुट फ़ील्ड को अक्षम करना चाहता हूं, लेकिन जब मैं फॉर्म सबमिट करता हूं तो उसे अभी भी मान पास करना चाहिए।किसी अक्षम इनपुट फ़ील्ड के मान को सबमिट करना

केस का उपयोग करें: मैं Google मानचित्र से अक्षांश और देशांतर प्राप्त करने की कोशिश कर रहा हूं और इसे प्रदर्शित करना चाहता हूं, लेकिन मैं नहीं चाहता कि उपयोगकर्ता इसे संपादित करे।

क्या यह संभव है?

+1

संभावित डुप्लिकेट [अक्षम फॉर्म इनपुट अनुरोध में प्रकट नहीं होते हैं] (http://stackoverflow.com/questions/7357256/disabled-form-inputs-do-not-appear-in-request) –

उत्तर

159

मैं एक फार्म पर एक इनपुट फ़ील्ड अक्षम करना चाहते हैं और जब मैं प्रपत्र सबमिट विकलांग रूप से मूल्यों सबमिट नहीं की है: जब फ़ॉर्म सबमिट होने सिर्फ इस तरह कुछ कोड को चलाने ।

प्रयोग करें प्रकरण: मैं इसे प्रदर्शित करना चाहते हैं गूगल मानचित्र से अक्षांश Lng पाने के लिए कोशिश कर रहा हूँ और .. लेकिन यह संपादित करने के लिए उपयोगकर्ता नहीं चाहते।

आप अपने इनपुट क्षेत्र में readonly संपत्ति का उपयोग कर सकते

<input type="text" readonly="readonly" /> 
+0

यह फ़ील्ड को अक्षम नहीं करेगा जैसा वह चाहता है (मान अभी भी पारित हो जाएगा) –

+9

@ पेक्का: वह मुझे लगता है * वह क्या चाहता है। जब वह इसे अक्षम करता है, मान पास नहीं होते हैं लेकिन केवल पढ़ने के साथ, वह इसे संपादन से रोक सकता है और मूल्य अभी भी पारित हो जाएगा। – Sarfraz

+0

@ सर्फ्राज़ आह, काफी मेला। यह दोनों तरीकों से सच हो सकता है। –

4

इनपुट तत्वों में disabled नामक एक संपत्ति है।

var myInput = document.getElementById('myInput'); 
myInput.disabled = true; 
+0

सरल और बुद्धिमान! धन्यवाद ! –

+0

मैकजीवर पर गर्व होगा –

+0

मूल प्रश्न को संबोधित करने के लिए, फॉर्म जमा करने के दौरान मूल्य को पास करने के लिए "अक्षम" संपत्ति "सत्य" के बजाय "झूठी" होनी चाहिए। –

10

आप भी केवल पढ़ने के लिए विशेषता का उपयोग कर सकते हैं: इनपुट वाला धूसर हो नहीं किया जा रहा है, लेकिन यह संपादन योग्य नहीं होगा

<input type="text" name="lat" value="22.2222" readonly="readonly" /> 
+0

धन्यवाद: डी स्पष्टीकरण के लिए डी –

15

मुझे पता है कि यह पुराना है लेकिन मैं बस इस समस्या में भाग गया और कोई भी जवाब उपयुक्त नहीं है। निकफ का समाधान काम करता है लेकिन इसे जावास्क्रिप्ट की आवश्यकता है। सबसे अच्छा तरीका फ़ील्ड को अक्षम करना है और फिर भी मान को पास करना है ताकि फॉर्म में मान पास करने के लिए एक छिपी हुई इनपुट फ़ील्ड का उपयोग किया जा सके। उदाहरण के लिए,

<input type="text" value="22.2222" disabled="disabled" /> 
<input type="hidden" name="lat" value="22.2222" /> 

इस तरह मान पास हो गया है लेकिन उपयोगकर्ता ग्रेड आउट फील्ड देखता है। रीडोनली विशेषता इसे ग्रे नहीं करती है।

+1

आप उन्हें ग्रे ग्रे करने के लिए अक्षम टेक्स्ट बॉक्स पर सीएसएस जोड़ सकते हैं बाहर। – krillgar

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