2012-05-31 17 views
33

मैंने चेकबॉक्स को पूर्व-चयन करने के तीन कार्यान्वयन को देखा है। मैंने चेक = "चेक" का उपयोग करना बंद कर दिया क्योंकि मैंने सोचा था कि यह "उचित" तरीका था (हालांकि "चेक" = "हां" जैसा कभी नहीं किया गया था)। मैं चेक = "सत्य" में बदलने की सोच रहा हूं क्योंकि यह अधिक पठनीय लगता है और जावास्क्रिप्ट को कोड करना आसान है। ध्यान दें कि यह वही प्रश्न अन्य अक्षमताओं जैसे "अक्षम" = "अक्षम" बनाम "अक्षम" = "सत्य" पर लागू होता है। जब तक मैं लगातार हूं, तब तक "सत्य" पसंदीदा दृष्टिकोण का उपयोग कर रहा है? धन्यवादइनपुट चेकबॉक्स सही या चेक किया गया या हाँ

<input type="checkbox" checked="checked" value="123" name="howdy" /> 
<input type="checkbox" checked="true" value="123" name="howdy" /> 
<input type="checkbox" checked="yes"  value="123" name="howdy" /> 
+0

ने चेतावनी दी नहीं है $ ('इनपुट [नाम = foo]') के बारे में क्या। attr ('चेक', सच) ;? क्या यह वास्तव में $ ('इनपुट [name = foo]' होना चाहिए)। Attr ('चेक', 'चेक')? – user1032531

उत्तर

55

केवल checked और checked="checked" मान्य हैं। आपके अन्य विकल्प ब्राउज़र में त्रुटि वसूली पर निर्भर करते हैं। के रूप में वे मतलब checked="no" और checked="false" सेट हो जाएगा कि डिफ़ॉल्ट स्थिति अनियंत्रित होने के लिए ... जो वे नहीं होगा

checked="yes" और checked="true" विशेष रूप से बुरा कर रहे हैं।

+4

[एचटीएमएल 5 spec] (http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#boolean-attribute)। –

+0

क्षमा करें, इसे यहां जोड़ने का मतलब है ... $ ('इनपुट [name = foo]') के बारे में क्या। Attr ('चेक', सत्य) ;? क्या यह वास्तव में $ ('इनपुट [name = foo]' होना चाहिए)। Attr ('चेक', 'चेक')? – user1032531

+0

यह 'jQuery (चयनकर्ता) .prop (' चेक ', सत्य) होना चाहिए; '(' attr' यह जांचने योग्य है कि यह चेक किए गए गुण को कैसे संभालता है, इसलिए रखरखाव के दिमाग के लिए टालना चाहिए)। – Quentin

3

W3C के अनुसार चेक इनपुट इनपुट विशेषता अनुपस्थित/ओमेटेड हो सकती है या इसके मूल्य के रूप में "चेक" हो सकती है। यह अन्य मानों को अमान्य नहीं करता है क्योंकि "सत्य", "चालू", "हां" और अन्य जैसे मानों को अनुमति देने के लिए ब्राउज़र कार्यान्वयन पर कोई प्रतिबंध नहीं है। यह गारंटी देने के लिए कि आप एक क्रॉस-ब्राउज़र चेकबॉक्स/रेडियो उपयोग चेक = "चेक" लिखेंगे, जैसा कि W3C द्वारा अनुशंसित किया गया है।

अक्षम, रीडोनली और आईमैप इनपुट के गुण उसी तरह से चलते हैं।

संपादित

खाली जाँच की, विकलांग, केवल पढ़ने के लिए और ismap इनपुट के गुणों के लिए मान्य मान, के रूप में @Quentin

+0

नहीं। यह कहता है कि चेक किए गए गुण को छोड़ा जा सकता है या उसके पास मूल्य 'चेक' हो सकता है। यह हर दूसरे मूल्य को अमान्य कर देता है (एचटीएमएल केवल आपको उन चीज़ों का उपयोग करने देता है जिन्हें अनुमति है, यह आपको उन सभी चीज़ों का उपयोग करने की अनुमति नहीं देता है जो प्रतिबंधित नहीं हैं)। चूंकि यह एक बुलियन विशेषता है, इसलिए विशेषता मौजूद होने पर आप मूल्य को छोड़कर * सब कुछ छोड़ सकते हैं। यानी 'चेक =" चेक किया गया "दिया गया है, आप पहले 9 वर्ण और अंतिम चरित्र को प्रतिबद्ध कर सकते हैं)। – Quentin

+0

मैंने कहा कि यह अन्य मूल्यों के कारण को अमान्य नहीं करता है ** ब्राउज़र ** एचटीएमएल को पार्स करने के लिए अपना तरीका कार्यान्वित कर सकता है क्योंकि वे चाहते हैं कि वे एक ओमेटेड/अनुपस्थित चेक किए गए गुण को स्वीकार करें या चेक किए गए = "चेक किए गए" ** की सिफारिश की ** ** डब्ल्यू 3 सी द्वारा । मैं अस्वीकृति 'casue "खाली स्वीकार करता हूं" वैध मान नहीं है, लेकिन बाकी सब कुछ अभी भी लागू होता है। –

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