Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. HTML & CSS

HTML 5 में रीथिंकिंग फॉर्म

by
Difficulty:IntermediateLength:LongLanguages:
This post is part of a series called HTML5 and You.
HTML5 Globals and You
HTML5 Microdata: Welcome to the Machine

Hindi (हिंदी) translation by Ashish Rampal (you can also view the original English article)

हालांकि HTML 5 स्पेसिफिकेशन में बेहतरी के लिए कई बदलाव किये गए हैं, लेकिन फॉर्म के ट्रांसफॉर्मेशन की तुलना में डेटा संचालित वेबसाइट से कुछ बेहतर नहीं है। ये सरल परिवर्तन आपके द्वारा एंटर, वैलिडेट, प्रोसेस, और यहां तक कि डिस्प्ले इनपुट करने में परिवर्तन करेंगे। आप कम कोड और कम कन्फूशन के साथ अधिक उपयोगी वेब ऍप्लिकेशन्स को बनाने में सक्षम होंगे।


परिचय स्टोर में क्या है?

"हाल ही में, फॉर्म्स में इनोवेशन की मेजोरिटी पुराने स्टाइल वाले HTML की बजाय जावास्क्रिप्ट के उपयोग से आया है। हालांकि फॉर्म को बढ़ाने के लिए जावास्क्रिप्ट का उपयोग करने में कुछ भी गलत नहीं है, यह कई डेवलपमेंट के सिरदर्द के साथ अपनी उपयोगिता को भी लाता है। "

HTML 5 अभी भी इसे अंतिम रूप देने से पहले बदलाव से गुजर रही है। यदि आप spec में देखते हैं, तो आप देखेंगे कि स्टेटमेंट्स के साथ कमैंट्स के लिए अभी भी एक अंतिम कॉल है, जैसे कि इम्प्लीमेंटेर्स को पता होना चाहिए कि यह स्पेसिफिकेशन स्थिर नहीं है। इसके अलावा, विशेष रूप से इस ट्यूटोरियल के लिए, फॉर्म्स में परिवर्तनों पर ध्यान केंद्रित करते हुए, ब्राउज़र इम्प्लीमेंटेशन कम से कम कहने के लिए स्पॉटी है। वह कहता है, होराइजन पर परिवर्तन आजकल जांच के लायक हैं। हालांकि परिवर्तन दायरे में प्रमुख हैं, डेवलपर्स के लिए इम्प्लीमेंटेशन अपेक्षाकृत आसान दिखता है। इस ट्यूटोरियल में, हम इन ग्राउंड ब्रेकिंग बदलावों का उच्च स्तर का अवलोकन करेंगे, और इस बारे में सोचेंगे कि वे यूजर इनपुट के नेचर को कैसे प्रभावित करेंगे।

अतीत में, फॉर्म्स में परिवर्तन अपेक्षाकृत मामूली रहे हैं। यदि आप HTML 3.2 spec पर वापस जाते हैं, जिसे 1997 में अंतिम रूप दिया गया था, तो आप उन्ही बेसिक फॉर्म इनपुट को देखेंगे जिनका आप आज भी उपयोग करते हैं। Select, textarea, radio, checkboxes और text तब भी उपलब्ध थे। वेब डेवलपर्स की एक पीढ़ी इन मानकों को लिखते हुए बड़ी हो गयी। जबकि स्पेसिफिकेशन के बाद के versions ने फॉर्मेट में बदलाव लाए, जैसे fieldset, label, legend, और form actions जैसे कि onsubmit या onchange, जिस तरह से हम यूजर इनपुट से निपटते हैं, कुछ हद तक स्टैटिक बना हुआ है। हाल के दिनों में, फॉर्म्स में अधिकतर इनोवेशन पुराने फैशन वाले HTML की बजाय जावास्क्रिप्ट के उपयोग से आये है। हालांकि फॉर्म को बढ़ाने के लिए जावास्क्रिप्ट का उपयोग करने में कुछ भी गलत नहीं है, लेकिन यह कई डेवलपमेंट सिरदर्द के साथ अपनी उपयोगिता लाता है। उदाहरण के लिए, जावास्क्रिप्ट का उपयोग करके फ़ॉर्म को वैलिडेट करने के कई अलग-अलग तरीके हैं, लेकिन क्या होता है जब यूजर के पास जावास्क्रिप्ट इनेबल नहीं होता है? हमें आगे हमारे सर्वर साइड स्क्रिप्ट पर लॉजिक लागू करने होंगे। अंत में, हमारे पास यूजर इनपुट को संभालने का कोई निरंतर तरीका नहीं है। HTML 5 पिछले 13 वर्षों में फॉर्म के लिए हर इनोवेशन सिरदर्द को संबोधित नहीं करता है, लेकिन यह हमें बहुत सारे टूल देता है
हमारी जॉब्स अधिक आसान हो सके, और हमें अधिक सुसंगत फॉर्म्स का डेवेलोप करने की अनुमति देता है।

तीन बुनियादी परिवर्तन हैं जिन्हें हमें जांचना चाहिए। सबसे पहले, हम इनपुट एलिमेंट्स में परिवर्तनों को देखेंगे, जैसे autocomplete या autofocus। दूसरा इनपुट स्टेट्स में परिवर्तन है, और यहाँ बहुत कुछ हैं! अंत में, हम नए फॉर्म एलिमेंट्स की जांच करेंगे। यह रीस्टेट करना महत्वपूर्ण है कि स्पेसिफिकेशन flux में है; तो मुझे आश्चर्य नहीं होगा अगर भविष्य में, हम जो चर्चा कर रहे हैं उसमें सूक्ष्म परिवर्तन हो जाए। यही इसे मजेदार बनाता है!


इनपुट एलिमेंट्स में परिवर्तन: एक पूरा नया खेल का मैदान।

इनपुट ऐट्रिब्यूट्स वे आइटम हैं जिन्हें आप इनपुट में डालते हैं यह बताने के लिए कि इनपुट क्या कर रहा है। उदाहरण के लिए:

उपर्युक्त उदाहरण में, इनपुट ऐट्रिब्यूट्स value, size और maxlength हैं। ये काफी समय से यहाँ रहे हैं। HTML 5 इनपुट एलिमेंट रखने की अवधारणा को नहीं बदलेगा, बल्कि कुछ और जोड़ता है। कम से कम एक सब्ट्रैक्शन, या बल्कि सब्स्टिटूशन प्रतीत होता है, और यह disabled है जो readonly में बदल गया है। इस spec में बदलाव नहीं आया है, लेकिन अगर मैं सट्टेबाजी करने वाला व्यक्ति होता, तो परिवर्तन event handlers, जैसे onblur, फायर करने की अनुमति देता - जो एक disabled एलिमेंट को रोकता है।

नए ऐट्रिब्यूट्स में autofocus, autocomplete, list, required, multiple, pattern, min और max, step और placeholder शामिल हैं। मैं इन एलिमेंट्स के दो अलग-अलग स्वाद के रूप में सोचता हूं। पहला स्वाद यूजर के अनुभव को बढ़ाता है, जबकि दूसरा डेवलपमेंट के अनुभव को बढ़ाता है। इससे मेरा मतलब है, autofocus, autocomplete, list, multiple, और placeholder यूजर को आइटम सेलेक्ट करने के अनुभव में मदद करता है, या शायद यह डिस्क्रिप्शन देकर की फॉर्म इनपुट क्या चाहता है, या फॉर्म को पूरा करने में सहायता करके। required, min और max, pattern और step डेवलपमेंट अनुभव को जोड़ते है यह कहकर कि फॉर्म में क्या होना चाहिए।

Autofocus

यह हर एक नया ऐट्रिब्यूट्स क्या करता है यह समझना अपेक्षाकृत आसान है। उदाहरण के लिए:

ऊपर, autofocus एलिमेंट पेज लोड पर टेक्स्ट इनपुट को केंद्रित करता है। इसका अर्थ यह है कि जैसे ही पेज लोड होता है, यह टेक्स्ट इनपुट एंट्री लेने के लिए तैयार होता है। आप तुरंत टाइपिंग शुरू कर सकते हैं, क्योंकि इस एलिमेंट में डॉक्यूमेंट का ध्यान केंद्रित है। कुछ ऐसा जो हम जावास्क्रिप्ट में लगभग एक लाइन में करते हैं, अब एक शब्द के साथ किया जा सकता है।

उपर्युक्त उदाहरण में, autocomplete बंद करके, आप ब्राउज़र को पिछली वैल्यू से फॉर्म फ़ील्ड को भरने से रोकते हैं। जैसे ही मैं डिजिट टाइप करता हूं, मेरे क्रेडिट कार्ड नंबर को देखने के अलावा मुझे कुछ भी नहीं मिलता है। autocomplete के लिए on डिफ़ॉल्ट होना चाहिए, इसलिए इस एलिमेंट का उपयोग करने के लिए केवल एक बार जब आप फॉर्म फ़ील्ड को पिछली एंट्रीज से पूरा करने से रोकना चाहते हैं। यह संवेदनशील जानकारी को "popping up" से ही रखते हुए यूजर अनुभव में जोड़ता है।

List

लिस्ट एट्रिब्यूट बहुत अच्छा है। अनिवार्य रूप से, आप एक datalist प्रदान करते हैं, और यह आपके टेक्स्ट इनपुट से एक ड्रॉप डाउन बनाएगा। इसे एक नेचुरल ऑटो कम्पलीट के रूप में सोचें। इसे थोड़ा आगे ले जाएं, और key एंट्रीज के आधार पर जल्दी से देखने के लिए जावास्क्रिप्ट लाइब्रेरी जोड़ने की बजाय, आप आसानी से एक "onchange" ईवेंट हैंडलर जोड़ सकते हैं, एक AJAX पोस्ट के साथ, और अंत में आपको एक ड्राप डाउन मिलेगा जिसमे और भी स्पेसिफिक रिजल्ट देगा जैसे ही यूजर बॉक्स में टाइप करता है। HTML 5 के साथ, यह फंक्शनलिटी केवल कुछ लाइन्स के साथ बनाई जाती है।

Multiple

मल्टीप्ल एट्रिब्यूट आपको अपने डाटालिस्ट से एक से अधिक आइटम चुनने की अनुमति देता है। उदाहरण के लिए, आपके पास एक ऐसा फॉर्म हो सकता है जो आपकी वेबसाइट से मैसेज भेजता हो। मल्टीप्ल एलिमेंट का उपयोग करके, आप उस मैसेज को भेजने के लिए यूजर को एक से अधिक रेसिपिएंट (recipients) चुनने की अनुमति दे सकते हैं। फिर से, यह कुछ ऐसा है जो हम अब जावास्क्रिप्ट के साथ पूरा कर सकते हैं, लेकिन HTML 5 के साथ, हमें केवल फॉर्म में एक ही कमांड जोड़ना होगा।

Placeholder

placeholder एट्रिब्यूट कुछ ऐसा है जो हम जावास्क्रिप्ट के साथ वर्षों से कर रहे हैं। यह क्या करता है, जैसे ही इनपुट फोकस होता है, यहां टाइप करते ही यह गायब हो जाएगा। अगर blur होने पर टेक्स्ट में कोई बदलाव नहीं आया है, तो यहां टाइप करें फिर से दिखाई देगा। एक बार फिर, हम यूजर अनुभव को बढ़ाने के लिए जावास्क्रिप्ट को पिक्चर से बाहर कर रहे हैं।

Required

ये सभी अगले नए ऐट्रिब्यूट्स हमारे डेवलपमेंट को बढ़ाते हैं। "step" को छोड़ दें तो, यूजर इनपुट के वेलिडेशन में प्रत्येक सहायता करते हैं।

Required एट्रिब्यूट बिल्कुल वैसा ही है जैसा लगता है। मैं, इस वेबपेज के डेवलपर के तौर पर, आपको सबमिट करने से पहले इस फॉर्म को भरने को required बनता हूँ। यह एक बेसिक फॉर्म वेलिडेशन है जिसे हम आज तक जावास्क्रिप्ट के साथ उपयोग करते थे। एक required एंट्री जोड़ने के लिए एक लाइब्रेरी ने जो लिया वो है, एक फॉर्म में सिंगल शब्द।

RegEx

सभी नए फॉर्म ऐट्रिब्यूट्स में से, यह वह है जिससे मैं सबसे ज्यादा उत्साहित हूं। श्रीमान फॉर्म, मुझे आपको अपने अच्छे दोस्त, Regex से परिचय कराने दें। यह एकदम सही है, हम रेगुलर एक्सप्रेशन के आधार पर फॉर्म एंट्रीज को वैलिडेट कर सकते हैं। हालांकि यह पहली बार रहस्यमय लगने जा रहा है, क्योंकि आप रेगुलर एक्सप्रेशन सीखते हैं, वेलिडेशन की संभावनाएं अब असीमित हो जाती हैं।

Validation

मैंने अंतिम तीन को एक उदाहरण में बांध दिया है, क्योंकि वे सभी नंबर वेलिडेशन के साथ डील करते हैं - या नंबर्स की श्रृंखला जिसे हम शामिल कर सकते हैं।

  • Min: न्यूनतम वैल्यू है जो एक इनपुट लेगा।
  • max: सर्वाधिक इनपुट वैल्यू जो एक इनपुट लेगा।

इनमें से प्रत्येक न्यूमेरिकल वैल्यूज से डील कर रहे हैं। उन्हें maxlength के साथ भ्रमित न करें, जो एक इनपुट लेने वाले करैक्टर की संख्या से संबंधित है। step एलिमेंट वैसा ही है जैसा लगता है। जैसे ही आप न्यूमेरिकल वैल्यू चुनते हैं, इसे .5 ऊपर या .5 नीचे  तक बढ़ाएं - जिसका अर्थ है कि इस इनपुट टाइप में 1, 1.5, 2, 2.5, और इसी तरह के संभावित वैल्यूज आ सकती है।

अभी तक, मेरी जानकारी के अनुसार, ब्राउज़र सपोर्ट इन ऐट्रिब्यूट्स पर कुछ हद तक स्पॉटी है। यहाँ एक क्विक चार्ट दिखाता है कि मैं इम्प्लीमेंटेशन पर क्या ढूंढ पा रहा था।


इनपुट टाइप में परिवर्तन: एक पूरा बहुत सारा प्यार।

आठ नए इनपुट टाइप्स हैं, सभी नई डेट और टाइम टाइप्स की काउंटिंग नहीं करते हैं, जो हमारे उद्देश्यों के लिए, मैं एक में गाँठ मार रहा हूं। यह ध्यान रखना महत्वपूर्ण है कि जिन ब्राउज़रों ने नए इनपुट टाइप्स को लागू नहीं किया है, वे परीक्षण किए गए प्रत्येक को एक टेक्स्ट टाइप में बदल दिया जाएगा। आपके द्वारा उपयोग किए जा रहे टाइप के आधार पर नए इनपुट टाइप्स को यूजर इनपुट को वैलिडेट करने की क्षमता क्या है। आने वाले सेक्शन में मैं और भी वेलिडेशन के बारे में चर्चा करूँगा। नए इनपुट प्रकारों में से प्रत्येक हमें एक टेक्स्ट फ़ील्ड से कुछ और विशिष्ट करने के लिए अलग करने की अनुमति देता है। उदाहरण के लिए, HTML 5 से पहले इन्टिजर या फ्लोट वैल्यू लेने के लिए, हम ज्यादातर इनपुट टाइप का टेक्स्ट इस्तेमाल करते थे। बस एनोटेशन से, यह शुरुआती लोगों के लिए सहज है। अधिक स्पेसिफिक होने के बाद, हमारे पास हमारे इंटरफ़ेस पर बेहतर विज़ुअल कंट्रोल होता है, क्योंकि HTML में एलिमेंट जितना अधिक स्पेसिफिक होता है, आपके पास CSS के भीतर से अधिक कण्ट्रोल होता है, और उन विज़ुअल एलिमेंट्स को परिभाषित करना आसान होता है। इसके अलावा, नए स्पेसिफिक इनपुट टाइप्स के साथ, ब्राउज़र अब ट्यून ठीक करने में सक्षम हैं कि इनपुट रेंज क्या होनी चाहिए। अंत में, मोबाइल कंप्यूटिंग के आगमन के साथ, हम वेब एप्लिकेशन फॉर्म एलिमेंट बनाने में सक्षम हैं जिन्हें नेचुरल ऍप्लिकेशन्स की तरह दिखने के लिए स्टाइल किया जा सकता है, या हम जिस कीबोर्ड का उपयोग कर रहे हैं उसे आकार दे सकते हैं।

चलिए पहले नंबर हैंडलिंग देखें:

Numbers, Integers और Floats

इन इनपुट टाइप्स में से प्रत्येक हमें नंबर्स के साथ खेलने की इजाजत देता है, और जब हम फॉर्म पोस्ट करते हैं, तो हमें यह सुनिश्चित करना चाहिए कि हमारे पास हमारे सर्वर साइड प्रोसेसिंग के लिए वे फ्लोट वैल्यू हैं जो जावास्क्रिप्ट वेलिडेशन के बिना हैं। सीधे शब्दों में, इन टाइप्स में से प्रत्येक के लिए, हम उन रेंज के भीतर नंबर रीटर्न पाने की उम्मीद कर रहे हैं जिन्हें हम परिभाषित करते हैं और जिस स्टेप में हम चाहते हैं। दो टाइप्स के बीच का अंतर यह है कि वे कैसे डिस्प्ले होते हैं। जबतक मैं नंबर टाइप पर इम्प्लीमेंटेशन देखने का इंतजार कर रहा हूं, मैं या तो रोल, या एक टेक्स्ट बॉक्स, या संभवतः नंबर्स के साथ सेलेक्ट के एक टाइप की अपेक्षा करता हूं। रेंज का टाइप थोड़ा अलग है, जिसमें यह एक स्लाइडिंग वैल्यू जैसा दिखता है, जैसा कि आप वॉल्यूम कंट्रोल के लिए देखने की उम्मीद करेंगे।

Dates और Times

अपने बैकएंड डेवलपमेंट को standardize करने के लिए एक और बड़ी राहत नई date और time इनपुट टाइप है। Opera इम्प्लीमेंटेशन से जिसे मैने देखा है, प्रत्येक कैलेंडर ड्रॉप डाउन दिखाता है, जो आपके यूजर को date चुनने की अनुमति देता है। दोबारा, हम अपने वेबपेज पर वैलिडेट कर सकते हैं कि इनपुट उस फॉर्मेट में है जिसे हम उम्मीद कर रहे हैं। हर एक बिलकुल वही करता है जो आप सोचते हैं; आप एक month, week, day या time का सिलेक्शन कर रहे हैं। जो थोड़ा अलग है वह datetime-local है, जो आपके टाइमज़ोन ऑफसेट के बिना date और time दिखाता है। उदाहरण के लिए, यदि आप एक फ्लाइट को सेलेक्ट कर रहे हैं, तो datetime-local उस शहर में समय और तिथि दिखाएगा जहाँ आप जा रहे हैं, जो जरूरी नहीं कि वही है जो आपका वर्तमान टाइमज़ोन हैं।

Urls, Emails, Telephone, और Color

इनमें से प्रत्येक इनपुट टाइप वर्णनात्मक हैं। URL और Email टाइप्स में दोनों वैलिड url पैटर्न और वैलिड ईमेल पैटर्न की वेलिडेशन हैं। हालांकि, टेलीफोन किसी भी स्पेसिफिक पैटर्न के अनुरूप नहीं है। यह सिर्फ लाइन ब्रेक स्ट्रिप्स है। यदि आप टेलीफोन फील्ड पर वेलिडेशन पैटर्न को लागू करना चाहते हैं, तो आप हमेशा पैटर्न एलिमेंट का उपयोग कर सकते हैं। इनमें से प्रत्येक एलिमेंट कलर को छोड़ कर लिस्ट एट्रिब्यूट भी लेंगे कलर को छोड़ कर। कलर गुच्छे की ओडबॉल है; मैं इसका व्यावहारिक उपयोग देख सकता हूं, जहां आप एक फैंसी पुल डाउन से कलर चुन सकते हैं जो रंग दिखाता है, और #000000 जैसे कुछ की टेक्स्ट एंट्री को लागू करता है, लेकिन यह मेरी राय में बाकी परिवर्तनों में वास्तव में फिट नहीं होता है। यह खेलना वैसा है जो दूसरों की तरह नहीं है।

ऐट्रिब्यूट्स की तरह, इनपुट टाइप ब्राउज़र इम्प्लीमेंटेशन काफी स्पॉटी है। मेरा आईफोन Safari की तुलना में इनमें से अधिक को सपोर्ट करता है, जो मेरे लिए थोड़ा मजाकिया है। सपोर्ट के लिए, यह सबसे अच्छा है जो मैं पा सकता हूं।


फॉर्म एलिमेंट्स में परिवर्तन: कठोर के रूप में काफी नहीं

फॉर्म एलिमेंट्स में परिवर्तनों की संख्या इनपुट ऐट्रिब्यूट्स और टाइप्स के रूप में कठोर नहीं है। वो कहता है, कुछ नए एलिमेंट्स के बारे में पता होना चाहिए। हमने पहले से ही datalist को कवर किया है - इस प्रकार हम डिफाइन करते हैं कि लिस्ट एलिमेंट कॉल से क्या चुना जाएगा - लेकिन हमने keygen, output, progress, या meter नहीं देखा है। Keygen के बाहर। ये नए ऐट्रिब्यूट्स की तरह स्वयं अपनी व्याख्या नहीं करते। चलिए इन्हें थोड़ा सा खोदते हैं।

Keygen

यह थोड़ा उलझन वाला है। यह आपके लिए पब्लिक key जेनेरेट नहीं करता है। इसके बजाए, यह एक key पेअर जनरेटर कण्ट्रोल है। फॉर्म सबमिट होने के बाद, यह लोकल key स्टोर में प्राइवेट key को स्टोर करने के लिए key पेअर को पैकेज करता है, और पब्लिक key को सर्वर पर वापस भेजता है। यह क्लाइंट सर्टिफिकेट जेनेरेट करेगा और इसे डाउनलोड करने के लिए यूजर को वापस पेश करेगा। एक बार प्राइवेट key के साथ डाउनलोड और स्टोर हो जाने पर, आप SSL या सर्टिफिकेट ऑथेंटिकेशन जैसी सेवाओं को ऑथेंटिकेट कर सकते हैं।

Output

स्टेरॉयड पर एक टेक्स्ट एरिया के रूप में आउटपुट एलिमेंट के बारे में सोचें। आप जो कर सकते हैं वह दो नंबर टाइप के टेक्स्ट इनपुट और आउटपुट से गणना करता है जो कभी भी सर्वर पर फॉर्म सबमिट किए बिना गणना करता है। यदि आप उपरोक्त उदाहरण में false onsubmit लौटते हैं, तो यह number_1 प्लस number_2 की गणना करेगा, और आपको जवाब प्रदान करेगा। इस ट्यूटोरियल में चर्चा की गई कई चीजों की तरह, यह कुछ ऐसा है जिसे हम आज जावास्क्रिप्ट के साथ पूरा कर सकते हैं, लेकिन यह वास्तव में उस कोड की मात्रा को कम करता है जिसे हमें भविष्य में लिखने की आवश्यकता है।

Progress और Meter

अंतिम दो नए एलिमेंट progress और meter हैं। वे एक समान हैं, लेकिन एक अंतर के साथ। एक स्पेसिफिक कार्य की प्रगति को मापने के लिए progress का उपयोग किया जाता है। उदाहरण के लिए, यदि सर्वे पूरा होने से पहले आपके पास पांच और पेज कम्पलीट हो सकते हैं, तो आप उस क्षेत्र में progress एलिमेंट दिखाएंगे। दूसरी ओर, meter कुछ का मेज़रमेंट है। हो सकता है कि आप शेष डिस्क स्थान को यूजर के लिए छोड़ दें। आप उस मेज़रमेंट को प्रदर्शित करने के लिए मीटर का उपयोग करेंगे। नए बाउंड्री एलिमेंट हैं, जैसे low, high और optimum। ये min या max एलिमेंट्स का अधिग्रहण करते हैं; इसलिए यदि वे उन्हें पार करते हैं, तो वे फॉर्म की नई निचली और ऊपरी सीमा बन जाते हैं।

HTML 5 के बाकी हिस्सों में परिवर्तन की तरह, इस समय ब्राउज़र इम्प्लीमेंटेशन खराब है। यह है जो करता हुआ दिखता है, और जो नहीं (इस लेखन के समय)।


निष्कर्ष

जो मैं देख सकता हूं, उससे HTML 5 forms का उपयोग शुरू करने का कोई कारण नहीं है। इनपुट एलिमेंट और प्रकार सभी IE6 में भी अच्छी तरह से डीग्रेड करते हैं, जहां उन्हें या तो एलिमेंट्स के रूप में अनदेखा किया जाता है, या टेक्स्ट इनपुट में अपमानित किया जाता है। हमें वेलिडेशन ऐट्रिब्यूट्स को वास्तविकता बनने के लिए थोड़ी देर इंतजार करना होगा, लेकिन इसके साथ ही, उन फायदों के बिना आज भी इनका कुछ उपयोग हैं। उदाहरण के लिए, यदि आप url, email या number टाइप्स का उपयोग कर रहे हैं तो iPhone कीबोर्ड को मॉडिफाई करता है। Range इनपुट टाइप पहले से ही WebKit ब्राउज़र में सपोर्ट है, इसलिए आप जावास्क्रिप्ट के बिना काम करने वाले नंबर स्लाइडर वाले ब्लॉक पर पहला किड हो सकते हैं। कल्पना तेजी से अंतिम रूप दे रही है, और ब्राउज़र प्रतिमान बदलावों के बजाय जल्दी से पकड़ रहे हैं। इन नए खिलौनों के साथ कम से कम खेलना शुरू करने के लिए अभी के जैसा कोई समय नहीं है! आप क्या सोचते हो?

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.