Form in HTML
Last Updated: 01 Nov 2025
An HTML form is used to collect input from users — like names, emails, passwords, feedback, etc. It's a container where users enter data that can later be sent to a server for processing.
#Syntax:
<form action="submit.php" method="post">
<!-- form elements here -->
</form>
- action → URL to send the form data to
- method → HTTP method to use for form submission
Form Elements
- <label> → Label for form elements
- <input> → Input field
- <select> → Dropdown menu
- <textarea> → Text area
- <button> → Submit button
Basic Input Elements
HTML provides many input types to collect data.
<form>
<label for="name">Name:</label>
<input type="text" id="name" name="username" /><br /><br />
<label for="email">Email:</label>
<input type="email" id="email" name="useremail" /><br /><br />
<label for="pwd">Password:</label>
<input type="password" id="pwd" name="userpassword" /><br /><br />
<input type="submit" value="Submit" />
</form>
🗣 Hinglish Tip: label tag accessibility ke liye helpful hota hai — user jab label pe click karta hai, field activate hoti hai.
<input> Attributes
- type → Type of input field
- id → Unique identifier
- name → Name of the input field
- value → Default value
- placeholder → Placeholder text
- required → Field is required
- disabled → Field is disabled
- readonly → Field is read-Only
- min → Minimum value use for range slider and number
- max → Maximum value use for range slider and number
- minlength → Minimum length use for text area
- maxlength → Maximum length use for text area
- step → Increment value use for range slider
- checked → Field is checked use for checkbox
- selected → Field is selected use for radio or dropdown
- autofocus → Field gets focus on page load
- autocorrect → Enable auto correction
- autocapitalize → Enable auto capitalization
- autocomplete → Enable auto complete
- accept → Allowed file types (e.g. image/*, pdf/*)
Common Input types
- text → Single-line text
- email → Validates email format
- password → Hides entered text like ******
- number → Only numbers allowed and e
- date → Date picker
- datetime-local → Date and time picker
- radio → Single selection
- checkbox → Multiple Selection
- range → Slider
- color → Color picker
- file → Upload files
- submit → Submit button
- reset → Reset button
- button → Custom button
Dropdown List — <select>&<option>
Use the <select> tag to create a dropdown list. Use the <option> tag to add options to the dropdown list.
<form>
<label for="city">Choose City:</label>
<select id="city" name="city">
<option value="delhi">Kashi</option>
<option value="mumbai">Mumbai</option>
<option value="kolkata">Kolkata</option>
<option value="chennai">Chennai</option>
</select>
</form>
🗣 Hinglish Tip: dropdown ke liye option tag accessibility ke liye helpful hota hai — user jab dropdown pe click karta hai, option activate hoti hai.
Text Area — <textarea>
Use the <textarea> tag to create a text area for multi-line input.
<form>
<label for="feedback">Your Feedback:</label><br />
<textarea id="feedback" name="userfeedback" rows="4" cols="30"></textarea>
</form>
Button — <button>
Use the <button> tag to create a custom button. and more useful for accessibility.
<button type="submit">Submit</button>
<button type="reset">Reset</button>
<button type="button">Custom Button</button>
Form Example
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Full HTML Form Example</title>
</head>
<body>
<h1>📝 Complete HTML Form Example</h1>
<p>This form covers all major input <b>types</b> and <b>attributes</b>.</p>
<form action="/submit" method="post" autocomplete="on">
<!-- Text Input -->
<label for="fullname">Full Name:</label>
<input
type="text"
id="fullname"
name="fullname"
placeholder="Enter your full name"
value="John Doe"
required
autofocus
minlength="3"
maxlength="30"
autocorrect="on"
autocapitalize="words"
/>
<br /><br />
<!-- Email Input -->
<label for="email">Email:</label>
<input
type="email"
id="email"
name="email"
placeholder="example@email.com"
autocomplete="on"
required
/>
<br /><br />
<!-- Password Input -->
<label for="password">Password:</label>
<input
type="password"
id="password"
name="password"
placeholder="Enter password"
required
minlength="6"
maxlength="15"
/>
<br /><br />
<!-- Number Input -->
<label for="age">Age:</label>
<input
type="number"
id="age"
name="age"
placeholder="Enter age"
min="10"
max="100"
step="1"
value="25"
/>
<br /><br />
<!-- Date Input -->
<label for="dob">Date of Birth:</label>
<input type="date" id="dob" name="dob" />
<br /><br />
<!-- Date & Time Input -->
<label for="appointment">Appointment Time:</label>
<input type="datetime-local" id="appointment" name="appointment" />
<br /><br />
<!-- Range Slider -->
<label for="volume">Volume Level:</label>
<input
type="range"
id="volume"
name="volume"
min="0"
max="100"
step="10"
value="50"
/>
<br /><br />
<!-- Color Picker -->
<label for="favcolor">Favorite Color:</label>
<input type="color" id="favcolor" name="favcolor" value="#00ffcc" />
<br /><br />
<!-- Radio Buttons -->
<label>Gender:</label><br />
<input type="radio" id="male" name="gender" value="male" checked />
<label for="male">Male</label><br />
<input type="radio" id="female" name="gender" value="female" />
<label for="female">Female</label><br /><br />
<!-- Checkbox -->
<label>Hobbies:</label><br />
<input
type="checkbox"
id="reading"
name="hobby"
value="reading"
checked
/>
<label for="reading">Reading</label>
<input type="checkbox" id="travel" name="hobby" value="travel" />
<label for="travel">Travel</label>
<input type="checkbox" id="music" name="hobby" value="music" />
<label for="music">Music</label><br /><br />
<!-- Dropdown -->
<label for="country">Country:</label>
<select id="country" name="country" required>
<option value="">--Select Country--</option>
<option value="india" selected>India</option>
<option value="usa">USA</option>
<option value="uk">UK</option>
<option value="canada">Canada</option>
</select>
<br /><br />
<!-- File Upload -->
<label for="resume">Upload Resume:</label>
<input type="file" id="resume" name="resume" />
<br /><br />
<!-- Textarea -->
<label for="feedback">Feedback / Comments:</label><br />
<textarea
id="feedback"
name="feedback"
rows="4"
cols="40"
placeholder="Write your feedback here..."
minlength="10"
maxlength="200"
></textarea>
<br /><br />
<!-- Disabled Field -->
<label for="refcode">Referral Code (Disabled):</label>
<input type="text" id="refcode" name="refcode" value="REF123" disabled />
<br /><br />
<!-- Readonly Field -->
<label for="userid">User ID (Readonly):</label>
<input type="text" id="userid" name="userid" value="USR001" readonly />
<br /><br />
<!-- Buttons -->
<input type="submit" value="Submit Form" />
<input type="reset" value="Reset Form" />
<button type="button">Custom Button</button>
</form>
</body>
</html>
