फॉर्म और इनपुट

लगभग हर वेबसाइट जो आपके लिए कुछ करती है—सर्च बॉक्स, लॉगिन, चेकआउट, कमेंट फील्ड—एक फॉर्म पर बनी होती है। एक फॉर्म वह है जहां एक पेज आगंतुक से बात करना बंद करता है और सुनना शुरू करता है: यह एकत्र करता है कि कोई व्यक्ति क्या टाइप करता है, टिक करता है, या चुनता है, और वह डेटा कार्य के लिए हस्तांतरित किया जाता है। यह अध्याय उस HTML के बारे में है जो इसे संभव बनाता है।
फॉर्म एलिमेंट
एक फॉर्म एक कंटेनर है जो आगंतुक द्वारा भरी गई चीजों को एक साथ समूहित करता है। आप अपने इनपुट और एक बटन को <form> एलिमेंट के अंदर रखते हैं, और फॉर्म का काम सब कुछ एकत्र करना और आगंतुक के समाप्त होने पर इसे भेजना है।
<form>
<label>आपका नाम</label>
<input>
<button>भेजें</button>
</form>इसे एक डॉक्टर के कार्यालय में भरे गए कागजी फॉर्म की तरह सोचें। शीट सभी बॉक्स को धारण करती है, आप प्रत्येक में लिखते हैं, और नीचे आप पूरी शीट को एक बार में वापस करते हैं। <form> एलिमेंट वह शीट है।
<form> वह कंटेनर है जो आपके इनपुट और एक बटन को धारण करता है, और जब कोई सबमिट करता है तो यह सब कुछ एक साथ भेजता है। डेस्क पर कागजी फॉर्म की कल्पना करें: एक शीट, बहुत सारे बॉक्स, एक बार में वापस किए गए। अपने फील्ड को एक फॉर्म में लपेटें और आपको बिना कुछ चतुर किए वह एकत्र-और-भेजें व्यवहार मिल जाता है। इनपुट और लेबल
एक <input> वह बॉक्स है जहां आगंतुक टाइप करता है। अपने आप पर हालांकि, एक इनपुट एक खाली बॉक्स है जिसमें कोई संकेत नहीं है कि यह क्या है। यही वह है जो एक लेबल है: यह वह टेक्स्ट है जो आगंतुक को बताता है कि बॉक्स में क्या डालें।
<label for="city">शहर</label>
<input id="city">हर इनपुट को एक लेबल की जरूरत है। आप इनपुट को id देकर और लेबल को for से इंगित करके दोनों को जोड़ते हैं, दोनों में एक ही शब्द का उपयोग करते हैं। एक बार जब वे जुड़ जाते हैं, तो लेबल पर क्लिक करने से कर्सर बॉक्स में जाता है, जो एक छोटी दयालुता है जो फॉर्म को सभी के लिए उपयोग करना आसान बनाती है।
<input> वह बॉक्स है जिसमें लोग टाइप करते हैं, और <label> वह पाठ है जो उन्हें बताता है कि वहां क्या जाता है। मेल खाने वाले for और id के साथ उन्हें जोड़ें और लेबल पर क्लिक करने से सीधे बॉक्स में कूद जाते हैं। हर एक इनपुट को एक लेबल दें; एक अकेला बॉक्स जिसके आगे कोई शब्द नहीं है केवल लोगों को भ्रमित करता है। अन्य कंट्रोल
सब कुछ एक सादा टेक्स्ट बॉक्स नहीं है। कुछ प्रश्नों का उत्तर टिक करके, चुनकर, या सूची से चुनकर बेहतर दिया जाता है। एक टिक बॉक्स (एक चेकबॉक्स) एक ऑन-या-ऑफ स्विच है, और एक ड्रॉपडाउन किसी को कई विकल्पों से एक चुनने देता है।
<label>
<input type="checkbox"> मुझे न्यूजलेटर भेजें
</label>
<label for="size">आकार</label>
<select id="size">
<option>छोटा</option>
<option>माध्यम</option>
<option>बड़ा</option>
</select>आपको इन्हें याद रखने की जरूरत नहीं है। अभी के लिए बिंदु यह है कि एक फॉर्म अपने प्रश्नों को किसी भी तरह से पूछ सकता है जो फिट बैठता है: टाइप करो, टिक करो, या सूची से चुनो।
<input type="checkbox"> है, और एक ड्रॉपडाउन एक <select> है जो <option> विकल्प को धारण करता है। उन्हें याद रखने की जरूरत नहीं; फॉर्म में सादे बॉक्स से अधिक होता है जब एक प्रश्न को इसकी जरूरत होती है। फॉर्म डेटा को कैसे नाम दिया जाता है और सबमिट किया जाता है
जब एक फॉर्म भेजा जाता है, तो प्रत्येक उत्तर को एक लेबल की जरूरत है ताकि जो कोई इसे प्राप्त करता है वह जानता हो कि कौन सा बॉक्स यह आया। वह लेबल इनपुट का name है। आप इसे एक बार सेट करते हैं, और यह मान के साथ यात्रा करता है।
<label for="city">शहर</label>
<input id="city" name="city">यदि आगंतुक उस बॉक्स में "दिल्ली" टाइप करता है, तो फॉर्म जोड़ी "city is दिल्ली" भेजता है। name यह है कि प्राप्त करने वाला पक्ष एक उत्तर को दूसरे से कैसे बताता है। बिना name वाला इनपुट सबमिशन से पूरी तरह छोड़ा जाता है, इसलिए यह छोटी विशेषता वह है जो वास्तव में डेटा को दिखाता है।
name इसके उत्तर पर टैग है, इसलिए प्राप्तकर्ता जानता है कि मान शहर बॉक्स से आया है न कि ईमेल वाले से। name सेट करें, और बॉक्स का मान एक लेबल किए गए जोड़ी के रूप में भेजा जाता है। इसे भूल जाओ, और वह फील्ड शांति से छोड़ दिया जाता है, जो पहली बार बहुत सारे लोगों को पकड़ता है एक फॉर्म कुछ भी नहीं भेजता है। 
