मैं निम्न मार्कअप है:क्रोम/एचटीएमएल 5: इनपुट प्रकार संख्या अधिकतम विशेषता का सम्मान नहीं कर रहा है?
<input type="number" max="99" />
गूगल क्रोम (और संभवतः अन्य वेबकिट ब्राउज़र) में, यह 99 से अधिक हो जाने से स्पिनर की ऊपर तीर को प्रतिबंधित करेगा, लेकिन यह एक टाइपिंग से उपयोगकर्ता को नहीं रोकता है 99 से अधिक संख्या। यहां तक कि ऑनब्लर, अमान्य मान को हटाया नहीं गया है/प्रतिस्थापित किया गया है या यहां तक कि एक चेतावनी भी दी गई है कि मान अमान्य है।
क्या मैं गलत तरीके से व्याख्या करता हूं कि यह कैसे काम करना है, या यह एक बग है? मैं क्रोम का नवीनतम संस्करण (लेखन के समय 1 9) का उपयोग कर रहा हूं।
संपादित करें:
स्पष्ट करने के लिए, मुझे पता है क्यों द्वारा निर्दिष्ट अधिकतम सीमा से अधिक संख्या पहली जगह में इनपुट होने के लिए अनुमति दी है चाहता हूँ। मुझे एहसास है कि यह फ़ॉर्म सबमिशन पर एक टूलटिप देता है जो आपको बताता है कि यह अमान्य है, लेकिन यह असंगत व्यवहार की तरह लगता है कि स्पिनर आपको अधिकतम से ऊपर जाने की अनुमति नहीं देगा, फिर भी आप किसी भी समय अधिकतम से ऊपर एक संख्या टाइप कर सकते हैं यह।
यदि यह किसी कारण से वांछित व्यवहार है, तो वह क्यों है? और जेएस का उपयोग किए बिना इनपुट रेंज को लागू करने के लिए एक बेहतर विकल्प है?
वर्क्स ठीक है, मैं त्रुटि संदेश "मान से कम या बराबर 99 करने के लिए होना चाहिए" मिलता है। क्या हम आपका वास्तविक कोड देख सकते हैं? –
क्रोम और ओपेरा सभी एक चेतावनी फेंकते हैं जब मैं एक फॉर्म सबमिट करने का प्रयास करता हूं जिसमें सीमा के बाहर संख्या होती है: http://jsfiddle.net/j08691/Uv3EA/ – j08691
यह केवल फ़ॉर्म सबमिशन पर क्यों दिखाएगा? और सबसे महत्वपूर्ण बात यह है कि इसे पहली जगह क्यों अनुमति दी जाती है? यह स्पिनर को प्रतिबंधित करता है ताकि आप इसका उपयोग उच्च मूल्य इनपुट करने के लिए नहीं कर सकें - मैन्युअल इनपुट क्यों नहीं? और मैं इसे सीमित करने के लिए अधिकतम लम्बाई या पैटर्न का उपयोग नहीं कर सकता, क्योंकि ये संख्या प्रकार इनपुट पर लागू नहीं हैं। मैं एक जेएस kludge लिखने अटक गया हूँ ... – FtDRbwLXw6