HTML Forms:
Form Tag (
<form>
):- The
<form>
tag is used to create an HTML form. - It contains various input elements for users to enter data.
- Attributes include
action
(URL to submit form data),method
(HTTP method to use when submitting form data), andid
orclass
for targeting with CSS or JavaScript.
- The
Input Elements:
- Input elements (
<input>
) are used within a form to collect user input. - They have various types (described below) and can include attributes like
name
,value
,placeholder
,required
,disabled
, etc.
- Input elements (
Form Controls:
- Other form control elements include
<textarea>
for multiline text input,<select>
for dropdown menus,<button>
for buttons,<label>
for labeling form controls, and<fieldset>
with<legend>
for grouping form controls.
- Other form control elements include
Submit Button:
- The
<input type="submit">
or<button type="submit">
element is used to submit the form data to the server.
- The
Reset Button:
- The
<input type="reset">
or<button type="reset">
element resets all form fields to their initial values.
- The
Form Validation:
- HTML5 introduced built-in form validation attributes like
required
,pattern
,min
,max
, etc., to enforce data validation on the client side.
- HTML5 introduced built-in form validation attributes like
Form Submission:
- When a form is submitted, the data is sent to the server specified in the
action
attribute. - The method attribute specifies how data is sent:
GET
sends data as URL parameters, whilePOST
sends data in the request body.
- When a form is submitted, the data is sent to the server specified in the
HTML Input Types:
Text Input (
<input type="text">
):- Allows users to enter single-line text.
- Attributes include
maxlength
,placeholder
,size
,autocomplete
, etc.
Password Input (
<input type="password">
):- Similar to text input but hides entered characters as bullets.
- Attributes include
maxlength
,placeholder
, etc.
Checkbox (
<input type="checkbox">
):- Allows users to select multiple options from a list.
- Used within a
<label>
element for better accessibility. value
attribute specifies the value to be sent when the checkbox is checked.
Radio Buttons (
<input type="radio">
):- Allows users to select only one option from a list.
- All radio buttons within the same group should have the same
name
attribute. value
attribute specifies the value to be sent when the radio button is selected.
Dropdown Menu (
<select>
):- Allows users to select one option from a dropdown list.
- Contains
<option>
elements for each selectable item. - Attributes include
multiple
(for multi-select),size
,disabled
, etc.
File Input (
<input type="file">
):- Allows users to upload files from their device.
- Renders a browse button that opens a file selection dialog when clicked.
Hidden Input (
<input type="hidden">
):- Stores data on the form that isn't displayed to the user.
- Useful for passing additional information with form submissions.
Number Input (
<input type="number">
):- Allows users to enter numeric values.
- Attributes like
min
,max
,step
can specify range and increment/decrement steps.
Date and Time Inputs (
<input type="date/time/month/week">
):- Provide native date and time pickers on supporting browsers.
- Attributes like
min
,max
,step
can specify range and granularity.
Email and URL Inputs (
<input type="email/url">
):- Provides built-in validation for email and URL formats.
- Browsers may display specific input types with appropriate keyboards or validation.
- Example of an HTML form with various input types:
- <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Example Form</title> </head> <body> <h2>Contact Us</h2> <form action="/submit" method="post"> <label for="name">Name:</label> <input type="text" id="name" name="name" required><br><br> <label for="email">Email:</label> <input type="email" id="email" name="email" required><br><br> <label for="phone">Phone:</label> <input type="tel" id="phone" name="phone" pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}" placeholder="Format: 123-456-7890"><br><br> <label for="birthdate">Birthdate:</label> <input type="date" id="birthdate" name="birthdate"><br><br> <label for="color">Favorite Color:</label> <input type="color" id="color" name="color"><br><br> <label for="message">Message:</label><br> <textarea id="message" name="message" rows="4" cols="50"></textarea><br><br> <label for="agree">I agree to the terms and conditions:</label> <input type="checkbox" id="agree" name="agree" required><br><br> <label for="avatar">Choose a profile picture:</label> <input type="file" id="avatar" name="avatar" accept="image/*"><br><br> <label for="priority">Priority:</label> <select id="priority" name="priority"> <option value="high">High</option> <option value="medium">Medium</option> <option value="low">Low</option> </select><br><br> <button type="submit">Submit</button> <button type="reset">Reset</button> </form> </body> </html>
This form includes various input types:
- Text input for name and email.
- Tel input for phone number with a specific pattern.
- Date input for birthdate.
- Color input for selecting a color.
- Textarea for entering a message.
- Checkbox for agreeing to terms.
- File input for uploading an image.
- Select dropdown for selecting priority.
Feel free to copy this code into an HTML file and open it in your browser to see how the form looks and behaves. You can also submit the form to observe how the data is sent to the server.
0 Comments