विकलांग विशेषता के लिए सही मूल्य क्या है?


167

disabledटेक्स्टबॉक्स या टेक्स्टारिया के लिए विशेषता का सही मूल्य क्या है ?

मैंने पहले इस्तेमाल किया हुआ देखा है:

<input type="text" disabled />
<input type="text" disabled="disabled" />
<input type="text" disabled="true" />

5
विशेषताओं का एक मूल्य होना चाहिए, यहां तक ​​कि उन विशेषताओं के लिए जिनकी उपस्थिति केवल कुछ संकेत करती है। disabled="false"अभी भी तत्व को अक्षम कर देगा, क्योंकि यह इस बात का सिद्धांत है disabledकि अक्षमता को ट्रिगर करता है, विशेषता का मूल्य नहीं।
मार्क बी

इस लिंक को मैंने js1568 के उत्तर के लिए एक टिप्पणी के रूप में पोस्ट किया / पुष्टि करता है कि @Marc B क्या कह रहा है: whatwg.org/specs/web-apps/current-work/multipage/…
जेम्स

stackoverflow.com/questions/1033944/… का संभव डुप्लिकेट क्योंकि दोनों बूलियन विशेषताएँ हैं (ध्वजांकित नहीं)
Ciro Santilli 郝海东 flow flow 事件

जवाबों:


148
  • XHTML के लिए, <input type="text" disabled="disabled" />वैध मार्कअप है।
  • HTML5 के लिए, <input type="text" disabled />उनके नमूनों पर W3C द्वारा मान्य और उपयोग किया जाता है।
  • वास्तव में, दोनों तरीके सभी प्रमुख ब्राउज़रों पर काम करते हैं।

15
Html5 में , इनपुट एक शून्य तत्व है और इसे स्वयं समापन स्लैश की आवश्यकता नहीं है: w3.org/TR/html5/syntax.html#void-elements और w3.org/TR/html5/syntax.html#syntax-start- टैग
डैनियल

1
@ डैनियल के। इसकी आवश्यकता नहीं है, जब तक कि पॉलीग्लॉट एचटीएमएल / एक्सएमएल मार्कअप न करें।
पतंजलि

108

HTML5 कल्पना :

http://www.w3.org/TR/html5/forms.html#en enable- and- diseable-form-controls : -the-disabled-attribute :

जाँच की गई सामग्री विशेषता एक बूलियन विशेषता है

http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :

एक तत्व पर एक बूलियन विशेषता की उपस्थिति सही मूल्य का प्रतिनिधित्व करती है, और विशेषता की अनुपस्थिति झूठे मूल्य का प्रतिनिधित्व करती है।

यदि विशेषता मौजूद है, तो इसका मान या तो खाली स्ट्रिंग होना चाहिए या ऐसा मान होना चाहिए जो विशेषता के विहित नाम के लिए ASCII केस-असंवेदनशील मिलान है, जिसमें कोई अग्रणी या अनुगामी व्हॉट्सएप नहीं है।

निष्कर्ष :

निम्नलिखित मान्य, समकक्ष और सत्य हैं :

<input type="text" disabled />
<input type="text" disabled="" />
<input type="text" disabled="disabled" />
<input type="text" disabled="DiSaBlEd" />

निम्नलिखित अमान्य हैं :

<input type="text" disabled="0" />
<input type="text" disabled="1" />
<input type="text" disabled="false" />
<input type="text" disabled="true" />

विशेषता की अनुपस्थिति झूठी के लिए एकमात्र वैध सिंटैक्स है :

<input type="text" />

सिफ़ारिश करना

यदि आप वैध XHTML लिखने के बारे में परवाह करते हैं disabled="disabled", <input disabled>तो अमान्य है और अन्य विकल्प कम पठनीय हैं। एल्स, <input disabled>छोटे होने के साथ ही उपयोग करें ।


3
नोट: यदि आप AngularJS का उपयोग करते हैं, और अक्षम अवस्था को एक चर में बांधने की आवश्यकता है, तो आप ng-disabledइसके बजाय उपयोग कर सकते हैं । इस तरह की अन्य विशेषताओं के साथ, आम तौर पर उनके पास बुद्धिमान ng-*समकक्ष है
याकूब

5
disabled={true}JSJ कोड में काम करता है, लेकिन मुझे यकीन है कि यह केवल मान्य / अनुमत HTML5 प्रारूपों में से किसी एक के लिए ट्रांसप्ल्ड हो जाएगा।
आरबीटी

1

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


1
ओपी का प्रश्न HTML (यानी क्लाइंट-साइड नियंत्रण) के बारे में था। आप सर्वर-साइड नियंत्रण देख रहे हैं; उन लोगों के अलग-अलग सम्मेलन हैं। यदि आप अपने JSP द्वारा HTML आउटपुट का निरीक्षण करते हैं तो आपको अंतर दिखाई देगा। यदि आपको अभी भी संदेह है, तो IE11 में इस फिडेल को आज़माएं ।
रूड हेलडरमैन

मैं IE 11 पर ग्राहक पक्ष पर एक ही बात देखी है। IE 11 को अस्तित्व में लाने के लिए कुछ मजबूर करता है, इसलिए बस अक्षम परिणामों को अक्षम करना = ""
रॉबर्ट अचमन

1

HTML5 में, कोई सही मान नहीं है, सभी प्रमुख ब्राउज़र वास्तव में परवाह नहीं करते हैं कि विशेषता क्या है, वे सिर्फ जाँच कर रहे हैं कि क्या विशेषता मौजूद है इसलिए तत्व अक्षम है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.