2011-06-17 13 views
5

क्या कोई सॉफ्ट पेज लेआउट (मुझे केवल संख्याओं की आवश्यकता है) निर्दिष्ट करने का कोई तरीका है जब उपयोगकर्ता किसी HTML पृष्ठ में टेक्स्ट इनपुट फ़ील्ड पर टैप करता है?एक कस्टम एचटीएमएल पेज में सॉफ्ट-कीबोर्ड प्रकार

मैं HTML पृष्ठ और जावाकोड बदल सकता हूं (मेरे पास वेबव्यू एम्बेड करने वाली गतिविधि है)। हालांकि, यह अन्य प्लेटफार्मों को प्रभावित नहीं करना चाहिए अगर मैं एचटीएमएल कोड को बदलने (किसी अन्य ब्राउज़र/उपकरण अब भी ठीक से इनपुट क्षेत्र से समझना चाहिए और दिखाने के एक नरम कुंजीपटल एक संख्या केवल कुंजीपटल necessarly नहीं)

उत्तर

4

मैं यह कोशिश नहीं था, लेकिन सिद्धांत रूप में यह काम करना चाहिए:

केवल संख्या को स्वीकार करने के रूप में क्षेत्र घोषित करने के लिए <input> टैग के लिए एचटीएमएल 5 type विशेषता का उपयोग करें। यह ब्राउजर को एक संख्यात्मक कीबोर्ड प्रदर्शित करने का संकेत देगा। यह एंड्रॉइड डिवाइस पर केवल प्रभाव डालने के लिए, कुछ एंड्रॉइड-विशिष्ट जावास्क्रिप्ट को उत्सर्जित करने पर विचार करें (जो उपयोगकर्ता एजेंट के माध्यम से क्लाइंट पर प्लेटफॉर्म का पता लगा सकता है या वैकल्पिक रूप से केवल सर्वर द्वारा भेजा जा सकता है यदि यह पता लगाता है और एंड्रॉइड डिवाइस - फिर से उपयोगकर्ता एजेंट शीर्षलेख का उपयोग करके), जो सभी इनपुट तत्वों (शायद एक विशेष श्रेणी के साथ चिह्नित) के माध्यम से ट्रैवर्स करता है और type से number पर सेट करता है।

1

वे विभिन्न उपकरणों और ओएस संस्करणों में अलग-अलग काम करते प्रतीत होते हैं। यह मूल रूप से वेबकिट संस्करण पर निर्भर करता है जो किसी डिवाइस पर चलता है। यदि यह उन टैग का समर्थन करता है, तो यह काम करेगा, अन्यथा, यह उस टैग को अनदेखा करता है।

2.3.4 पर, मेरे नेक्सस एस, प्रकार = संख्या पर, एक संख्यात्मक कीपैड देता है।

1

मैंने यह भी देखा है कि आपके इनपुट टैग में 'pattern = "[0-9] *"' जोड़ना है। आज़माएं:

<input type="number" size="4" maxlength="4" pattern="[0-9]*" ></input>