मैं किसी क्षेत्र का "वास्तविक" मूल्य कैसे प्राप्त कर सकता हूं <input type="number">
?
मेरे पास एक input
बॉक्स है, और मैं नए HTML5 इनपुट प्रकार का उपयोग कर रहा हूं number
:
<input id="edQuantity" type="number">
यह ज्यादातर Chrome 29 में समर्थित है:
इनपुट बॉक्स में उपयोगकर्ता को "कच्चे" मूल्य को पढ़ने की क्षमता है । यदि उपयोगकर्ता ने एक नंबर दर्ज किया है:
तब edQuantity.value = 4
, और सब ठीक है।
लेकिन अगर उपयोगकर्ता अमान्य पाठ में प्रवेश करता है, तो मैं इनपुट-बॉक्स को लाल रंग देना चाहता हूं:
दुर्भाग्य से, type="number"
इनपुट बॉक्स के लिए, यदि पाठ बॉक्स में मान एक संख्या नहीं है, तो value
एक खाली स्ट्रिंग लौटाता है:
edQuantity.value = "" (String);
(क्रोम 29 में कम से कम)
मैं एक नियंत्रण का "कच्चा" मूल्य कैसे प्राप्त कर सकता हूं <input type="number">
?
मैंने इनपुट बॉक्स के अन्य गुणों की क्रोम सूची के माध्यम से देखने की कोशिश की:
मैंने ऐसा कुछ नहीं देखा जो वास्तविक इनपुट जैसा दिखता हो।
न ही मुझे यह बताने का कोई तरीका मिल सकता है कि क्या बॉक्स "खाली" है , या नहीं। शायद मैं अनुमान लगा सकता था:
value isEmpty Conclusion
============= ============= ================
"4" false valid number
"" true empty box; not a problem
"" false invalid text; color it red
नोट : आप क्षैतिज नियम के बाद सब कुछ अनदेखा कर सकते हैं; यह सवाल का औचित्य साबित करने के लिए सिर्फ भराव है। इसके अलावा: प्रश्न के साथ उदाहरण को भ्रमित न करें। लोग इस सवाल का जवाब बॉक्स लाल रंग के अलावा अन्य कारणों से चाहते हैं (एक उदाहरण: onBlur घटना के दौरान पाठ "four"
को लैटिन "4"
प्रतीक में परिवर्तित करना )
मैं एक नियंत्रण का "कच्चा" मूल्य कैसे प्राप्त कर सकता हूं <input type="number">
?
बोनस पढ़ना
validity
स्थिति की जाँच करें - मैं उम्मीद typeMismatch
करूँगा लेकिन मैंने खुद की जाँच नहीं की है।
blah
एक अमान्य संख्या है"।
number
वह इनपुट प्रकार नहीं है जिसकी आप तलाश कर रहे हैं; एक सामान्यtext
इनपुट का उपयोग करें ।