मेरे रूपों में, मैं उदाहरण के लिए नए HTML5 फ़ॉर्म प्रकारों का उपयोग करना चाहूंगा <input type="url" />
( यहां के प्रकारों के बारे में अधिक जानकारी )।
समस्या यह है कि क्रोम सुपर सहायक बनना चाहता है और मेरे लिए इन तत्वों को मान्य करता है, सिवाय इसके कि वह इसे चूसता है। यदि यह अंतर्निहित सत्यापन में विफल रहता है, तो ध्यान केंद्रित करने वाले तत्व के अलावा कोई संदेश या संकेत नहीं है। मैं URL तत्वों के साथ प्रीफ़िल करता हूं "http://"
, और इसलिए मेरा स्वयं का कस्टम सत्यापन उन मानों को खाली स्ट्रिंग के रूप में मानता है, हालांकि Chrome इसे अस्वीकार करता है। अगर मैं इसके सत्यापन नियम बदल सकता हूं, तो यह भी काम करेगा।
मुझे पता है कि मैं सिर्फ उपयोग करने के लिए वापस लौट सकता हूं, type="text"
लेकिन मैं इन नए प्रकार के ऑफ़र का उपयोग करके अच्छी संवर्द्धन चाहता हूं (उदाहरण के लिए: यह स्वचालित रूप से मोबाइल उपकरणों पर एक कस्टम कीबोर्ड लेआउट पर स्विच करता है):
तो, क्या स्वचालित सत्यापन को बंद या अनुकूलित करने का कोई तरीका है?
$('[inputmode]').each(function () { this.attr({type: this.attr('inputmode'), novalidate: true}) });
inputmode
करेगा। अपने तरीके से काम करते हुए, आप अभी भी (उदाहरण के लिए) गैर-संख्यात्मक मान नहीं पढ़ सकते हैं जो उपयोगकर्ता प्रकार के इनपुट बॉक्स में लिखते हैं number
। उदाहरण के लिए, इस फिडेल में टेक्स्ट बॉक्स में कुछ गैर-संख्यात्मक टाइप करने और बटन पर क्लिक करने का प्रयास करें।
<input type='number'>
गैर-संख्यात्मक मान बिल्कुल स्वीकार नहीं करता है?
inputmode
विशेषता का उल्लेख है , जो - अगर मैं समझ रहा हूं कि मैं सही ढंग से क्या पढ़ता हूं - यह निर्दिष्ट करने के लिए उपयोग किया जा सकता है कि उपयोगकर्ता को किस प्रकार के कीबोर्ड को फ़ील्ड के साथ बातचीत करते समय पेश किया जाना चाहिए, बिना किसी सत्यापन नियमों को लागू किए बिना । भविष्य में किसी बिंदु पर,inputmode
विशेषता के बजाय विशेषता का उपयोगtype
करना संभवतः इस समस्या का सही समाधान होगा - लेकिन अभी तक नहीं।