जवाबों:
यदि आपको यह पता है कि पेज कब प्रस्तुत किया गया है, तो ऐसा लगता है कि आप ऐसा करते हैं क्योंकि डेटाबेस का मूल्य है, जावास्क्रिप्ट के बजाय प्रदान किए जाने पर इसे अक्षम करना बेहतर है। ऐसा करने के लिए, बस readonlyविशेषता जोड़ें (या disabled, यदि आप इसे फ़ॉर्म सबमिशन से हटाना चाहते हैं) <input>, इस तरह से:
<input type="text" disabled="disabled" />
//or...
<input type="text" readonly="readonly" />
document.getElementById('foo').disabled = true;
या
document.getElementById('foo').readOnly = true;
ध्यान दें कि readOnlyफ़ायरफ़ॉक्स (जादू) में सही तरीके से काम करने के लिए कैमलकेस में होना चाहिए।
डेमो: https://jsfiddle.net/L96svw3c/ - कुछ हद तक के बीच का अंतर बताते हैं disabledऔर readOnly।
readonly(निचला हिस्सा) अभी भी उबंटू में फ़ायरफ़ॉक्स 52 में काम नहीं करता है - ऊंट का मामला होना चाहिए।
inputतत्व बनाया है id="gate"और मैं आपके कोड की कोशिश करता हूं, जो मेरे लिए काम नहीं करता है ...
यदि डेटा डेटाबेस से आबाद है, तो आप इसे प्रदर्शित करने के लिए टैग का उपयोग नहीं करने पर विचार कर सकते हैं <input>। फिर भी, आप इसे टैग में अक्षम कर सकते हैं:
<input type='text' value='${magic.database.value}' disabled>
यदि आपको इसे बाद में जावास्क्रिप्ट के साथ अक्षम करने की आवश्यकता है, तो आप "अक्षम" विशेषता सेट कर सकते हैं:
document.getElementById('theInput').disabled = true;
कारण है कि मैं एक के रूप में मूल्य नहीं दिखाने का सुझाव <input>है, मेरे अनुभव में, यह लेआउट मुद्दों का कारण बनता है। यदि पाठ लंबा है, तो <input>उपयोगकर्ता में पाठ को आज़माने और स्क्रॉल करने की आवश्यकता होगी, जो कि कुछ ऐसा नहीं है जिसे सामान्य लोग अनुमान लगाते हैं। यदि आप इसे एक <span>या कुछ में छोड़ देते हैं, तो आपके पास अधिक स्टाइलिंग लचीलापन है।
आप jquery द्वारा भी कर सकते हैं:
$('#foo')[0].disabled = true;
कार्य उदाहरण:
$('#foo')[0].disabled = true;
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="foo" placeholder="placeholder" value="value" />
अपने इनपुट बॉक्स का संदर्भ लें जो आपको पसंद है (उदाहरण के लिए document.getElementById('mytextbox')) और इसकी readonlyसंपत्ति को इसमें सेट करें true:
myInputBox.readonly = true;
वैकल्पिक रूप से आप इस संपत्ति को इनलाइन (कोई जावास्क्रिप्ट आवश्यक नहीं) जोड़ सकते हैं:
<input type="text" value="from db" readonly="readonly" />