2016-02-10 7 views
5

मैं type="number" के साथ एक HTML5 इनपुट बॉक्स का उपयोग कर रहा हूं। कुछ दस्तावेजों के संबंध में, यदि मैं lang="" विशेषता का भी उपयोग करता हूं तो अल्पविराम (अवधि के साथ नहीं) के साथ एक संख्या दर्ज करना संभव होना चाहिए। यह फ़ायरफ़ॉक्स में काम कर रहा है, लेकिन क्रोम में नहीं (एक अल्पविराम स्वीकार नहीं करता है)। इनपुट बॉक्स में क्रोम को कॉमा स्वीकार करने के लिए मैं क्रोम कैसे प्राप्त कर सकता हूं। मेरी समस्या यह है कि हमारे जर्मन उपयोगकर्ता उम्मीद करते हैं कि वे वहां की अवधि के बजाय अल्पविराम दर्ज कर सकते हैं।टाइप = "संख्या" के साथ एचटीएमएल 5 इनपुट बॉक्स क्रोम ब्राउज़र में कॉमा स्वीकार नहीं करता

https://jsfiddle.net/byte2702/y3Lpfw7m/

Please enter a number with comma: <br/> 
<input id="num" type="number" step="any" lang="de" pattern="-?[0-9]+[\,.]*[0-9]+" /> 
+1

मुझे लगता है कि यह क्लाइंट स्थानीय कॉन्फ़िगरेशन पर निर्भर करता है। फ़ायरफ़ॉक्स इस के साथ अच्छा है, लेकिन क्रोम बस इसे स्वीकार नहीं करता है। जब ब्लर या सबमिट होता है तो वर्कअराउंड का पता लगाया जा सकता है और फिर डॉट को जावास्क्रिप्ट के साथ अल्पविराम से प्रतिस्थापित कर सकता है। –

+1

यहां ब्राजील में हम अल्पविराम का भी उपयोग करते हैं। आप एक साधारण पाठ इनपुट का उपयोग कर सकते हैं और इसके साथ कुछ जावास्क्रिप्ट सामान कर सकते हैं। उदाहरण के लिए आप संख्या इनपुट के कामकाज को अनुकरण करने के लिए बस दो बटन बना सकते हैं। – Phiter

+0

मैं इसे आज़माउंगा। आप दोनों को बहुत धन्यवाद। मेरे पास पहले से ही टाइप = "टेक्स्ट" दिमाग में था, लेकिन मैं पहले टाइप = "नंबर" कोशिश करना चाहता था। –

उत्तर

1

अभी तक (30/08/2017), एंटोनी थैरी का उत्तर क्रोम में मान्य नहीं है (मेरा संस्करण 60.0.3112.113 है)। दुर्भाग्यवश मेरे पास जावास्क्रिप्ट के साथ प्रकार = "संख्या" अनुकरण करने के अलावा कोई अन्य सुझाव नहीं है।

+0

हां। यही वह है जो हमने भी किया था। हमने समस्या को हल करने के लिए jQuery/जावास्क्रिप्ट का उपयोग किया। –

0

मैं एक ही मुद्दा था, कुछ डेटा सहेजे नहीं गए थे क्योंकि हमारे उपयोगकर्ताओं एक अल्पविराम के बजाय की अवधि के लिए इस्तेमाल किया। मुझे आपके प्रश्न का उत्तर देने वाले this post मिले।

सभी मैं जोड़ा संख्या के लिए मेरी आदानों में यह है: lang='en-150'

<input type='number' lang='en-150'/> 

और यह Chrome और Firefox दोनों में काम करना चाहिए।

+0

मैंने आपके द्वारा प्रदान की गई पोस्ट को पढ़ा, और आपके सुझाव की कोशिश की। मैं क्रोम में काम करने के लिए यह नहीं मिल सका। –

+0

ऐसा लगता है कि –

+0

@ विग्नेश राजा काम नहीं कर रहा है, जैसा कि ओजीयर ने इंगित किया है, यह समाधान अब क्रोम के नवीनतम संस्करणों में मान्य नहीं है ... –

3

वास्तव में, अगर मैं प्रलेखन सही ढंग से पढ़ा है, patterntype=number के लिए समर्थित नहीं है। इसलिए, type=text पर चिपके रहें और फिर फ्रंट एंड सत्यापन के लिए pattern="..." जोड़ें। अगले चरण में, आपको टेक्स्ट इनपुट को वास्तविक संख्या में बदलने की आवश्यकता होगी यदि यह जावास्क्रिप्ट/कंप्यूटिंग प्रारूप के अनुकूल नहीं है।

2017 और इस आम समस्या के लिए अब भी कोई अच्छा समाधान ...

+0

मोबाइल उपयोगकर्ताओं को इनपुट पर क्लिक करते समय एक संख्या इनपुट मिलता है। यदि आप इसे पाठ में बदलते हैं तो यह अब मामला नहीं है। यह अच्छा नहीं है। –

0

अब के रूप में, मैं

<html lang="en"> 

या

<input type="number" lang="en"> 

की कोशिश की है और यह मेरे इनपुट किसी भी करने के लिए करते हैं : अल्पविराम या अवधि। मैंने इसे डेस्कटॉप उबंटू और फ़ायरफ़ॉक्स और क्रोम में मोबाइल एंड्रॉइड पर परीक्षण किया है।

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