मेरे पास क्रेडिट कार्ड नंबर इनपुट फ़ॉर्म है जिसका उपयोग मोबाइल और गैर-मोबाइल ब्राउज़र दोनों द्वारा किया जाएगा।अंकों के मोबाइल-अनुकूल इनपुट + रिक्त स्थान (क्रेडिट कार्ड नंबर)
मैं संकेत देना चाहता हूं कि मोबाइल पर एक कीपैड दिखाना चाहिए, और (वैकल्पिक) रिक्त स्थान की अनुमति देना चाहिए, इसलिए या तो "4111 1234 1234 1234" या "4111123412341234" स्वीकार किया जाना चाहिए।
मैं क्या मिल गया है से, विकल्प हैं:
क) <input type="tel"/>
- इस रूप में मैं (चाहते हैं वर्तमान मोबाइल ब्राउज़रों कम से कम) के साथ व्यवहार करने के लिए लगता है, लेकिन यह अर्थ की दृष्टि से गलत है।
ख) <input type="text" pattern="[\d ]*"/>
या इसी तरह - iPhone recognises some patterns ([0-9]*
, \d*
) कीबोर्ड के साथ काम कर के रूप में है, लेकिन इस रूप में अच्छी तरह Android पर काम नहीं करता। इसके अलावा मुझे यकीन नहीं है कि आईफोन आईफोन को रिक्त स्थान की अनुमति देने के लिए एक नमप देगा, हालांकि मेरे पास अभी जांच करने के लिए आईफोन नहीं है।
सी) जावास्क्रिप्ट के साथ ब्राउज़र का पता लगाने का प्रयास करें और मोबाइल के लिए (ए) और (बी) गैर-मोबाइल के लिए प्रयास करें। Cludgy, और कोई वास्तविक लाभ (ए) पर।
<input type="number"/>
Chrome at least will force such input to a number के बाद से गैर-स्टार्टर प्रतीत होता है, इसलिए रिक्त स्थान के साथ इनपुट तोड़ना।
क्या मोबाइल ब्राउज़र पर संकेत देने का एक बेहतर तरीका है कि उन्हें type="tel"
का उपयोग करने से एक नमपैड प्रदान करना चाहिए?
संपादित करें:
हो सकता है कि एक -webkit-*
संपत्ति है कि संकेत है कि एक numpad दिखाया जाना चाहिए एक सामान्य पाठ इनपुट क्षेत्र के लिए लागू किया जा सकता है?
बह, बस एक डुप्लिकेट मिला: [HTML5 इनपुट प्रकार संख्या बनाम टेलि] (http://stackoverflow.com/questions/8216278/html5-input-type-number-vs-tel) –