Forms let people send information to a website. This helps websites get data like names, emails, or messages.
Form submission basics in HTML
<form action="URL" method="GET|POST"> <!-- form fields here --> <button type="submit">Send</button> </form>
action tells where the form data goes.
method decides how data is sent: GET adds data to the URL, POST sends it hidden.
<form action="/submit" method="POST"> <input type="text" name="username" /> <button type="submit">Send</button> </form>
<form action="/search" method="GET"> <input type="search" name="query" /> <button type="submit">Search</button> </form>
This is a simple contact form with name, email, and message fields. It uses POST to send data to a server. Labels and ARIA help screen readers. The form is easy to use on phones and computers.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Simple Contact Form</title> </head> <body> <main> <h1>Contact Us</h1> <form action="https://example.com/submit" method="POST" aria-label="Contact form"> <label for="name">Name:</label><br /> <input type="text" id="name" name="name" required /><br /><br /> <label for="email">Email:</label><br /> <input type="email" id="email" name="email" required /><br /><br /> <label for="message">Message:</label><br /> <textarea id="message" name="message" rows="4" required></textarea><br /><br /> <button type="submit">Send Message</button> </form> </main> </body> </html>
Always use label tags for better accessibility.
Use required attribute to make sure users fill important fields.
Choose POST for sensitive data, GET for simple searches.
Forms collect user information and send it to a website.
Use action to set where data goes and method to choose how it is sent.
Labels and accessibility features make forms easier for everyone to use.
Practice
action attribute in an HTML form specify?Solution
Step 1: Understand the role of
Theactionattributeactionattribute tells the browser where to send the form data when the user submits the form.Step 2: Differentiate from other attributes
Themethodattribute controls how data is sent, not where. Styling and input types are unrelated toaction.Final Answer:
The URL where the form data is sent after submission -> Option DQuick Check:
action= URL destination [OK]
- Confusing action with method
- Thinking action controls form style
- Assuming action sets input types
Solution
Step 1: Check attribute order and values
Bothactionandmethodattributes are needed. The method should be 'post' and action should be '/submit'. The order of attributes does not affect correctness.Step 2: Validate each option
The<form method='post' action='submit'>has incorrect action (missing leading '/'). The<form action='/submit' method='post'>uses correct attribute names and values. The one withmethod='get'uses wrong method for POST. The one withmethod='submit'uses invalid method and action values.Final Answer:
<form action='/submit' method='post'> -> Option BQuick Check:
Correct syntax with POST method and action URL [OK]
- Using 'submit' as method instead of 'post' or 'get'
- Mixing up method and action attribute values
- Using wrong attribute names
<form action='/send' method='get'> <input type='text' name='username' value='alice'> <input type='submit'> </form>
Solution
Step 1: Identify form method and action
The form uses method='get' and action='/send', so data will be sent via URL query string to '/send'.Step 2: Understand how GET sends data
GET appends form data as key=value pairs in the URL. Here, username=alice is added to the URL.Final Answer:
The browser sends a GET request to '/send?username=alice' -> Option CQuick Check:
GET method sends data in URL [OK]
- Thinking GET sends data in request body
- Assuming missing method means no data sent
- Confusing reload with form submission
<form action='/submit' method='post'> <input type='text' name='email'> <input type='submit' value='Send'> </form>
Why might this form cause accessibility issues?
Solution
Step 1: Check form attributes and elements
The form uses correct action and method. The submit button has a value and defaults to type='submit'.Step 2: Identify accessibility issue
The input field lacks a<label>element, which helps screen readers and improves usability.Final Answer:
Missing <label> for the input field -> Option AQuick Check:
Labels improve accessibility [OK]
- Thinking submit button needs explicit type
- Assuming method='post' is wrong
- Believing action URL must be absolute
Solution
Step 1: Check form action and method
The form must send data to '/feedback' using POST method.<form action='/feedback' method='post'>\n <label for='comments'>Comments</label>\n <textarea id='comments' name='comments'></textarea>\n <button type='submit'>Send Feedback</button>\n</form>and B have method='post', but B lacks label.Step 2: Verify accessibility and button labeling
<form action='/feedback' method='post'>\n <label for='comments'>Comments</label>\n <textarea id='comments' name='comments'></textarea>\n <button type='submit'>Send Feedback</button>\n</form>uses a<label>linked to the textarea withforandid, improving accessibility. The submit button is a<button>with clear text.Step 3: Eliminate incorrect options
<form action='/feedback' method='get'>\n <label>Comments</label>\n <textarea id='comments'></textarea>\n <button>Send Feedback</button>\n</form>uses GET method and missing name attribute on textarea, and label is not linked.<form action='/feedback'>\n <label for='comments'>Comments</label>\n <textarea id='comments' name='comments'></textarea>\n <input type='submit' value='Send Feedback'>\n</form>misses method attribute, so defaults to GET.Final Answer:
code snippet with proper action, method, label, and button -> Option AQuick Check:
Use POST + label + submit button for accessible form [OK]
- Omitting method attribute defaults to GET
- Not linking label to input with for and id
- Using GET when POST is required
Ready to prove it?
Pass the test and this pattern moves unknown
