📖 Scenario: You are building a simple contact form for a website. The form needs fields for the user's name, email, password, and age.
🎯 Goal: Create an HTML form with input fields for name, email, password, and age using the correct input types.
📋 What You'll Learn
Use the text input type for the name field
Use the email input type for the email field
Use the password input type for the password field
Use the number input type for the age field
Include labels for each input for accessibility
💡 Why This Matters
🌍 Real World
Forms are everywhere on the web for collecting user information like sign-ups, contact details, and surveys.
💼 Career
Knowing how to create accessible and correct input fields is essential for front-end web development jobs.
Progress0 / 4 steps
1
Create the HTML form skeleton
Write the opening <form> tag and the closing </form> tag to create a form container.
HTML
Hint
The form tag wraps all the input fields.
2
Add a text input for the user's name
Inside the <form>, add a <label> with the text Name: and an <input> with type="text" and id="name".
HTML
Hint
Use type="text" for the name input and link the label with for="name".
3
Add email and password inputs
Below the name input, add a <label> with text Email: and an <input> with type="email" and id="email". Then add a <label> with text Password: and an <input> with type="password" and id="password".
HTML
Hint
Use type="email" for the email input and type="password" for the password input.
4
Add a number input for age
Below the password input, add a <label> with text Age: and an <input> with type="number" and id="age". Then close the form with a submit button: <button type="submit">Submit</button>.
HTML
Hint
Use type="number" for the age input and add a submit button to send the form.
Practice
(1/5)
1. Which input type should you use to let users enter their email address?
easy
A. password
B. text
C. email
D. number
Solution
Step 1: Understand the purpose of input types
The email input type is designed specifically to accept email addresses and validate their format.
Step 2: Match input type to data
Since the question asks for an input type for email addresses, email is the correct choice.
Final Answer:
email -> Option C
Quick Check:
Email input type = email [OK]
Hint: Use email type for email inputs to get validation [OK]
Common Mistakes:
Using text instead of email loses validation
Choosing password hides input unnecessarily
Using number for emails is invalid
2. Which of the following is the correct syntax for a password input field in HTML?
easy
A. <input type='password'>
B. <input password>
C. <input type='pass'>
D. <input type='text-password'>
Solution
Step 1: Recall correct input type attribute
The correct attribute for password fields is type='password'.
Step 2: Check each option's syntax
Only <input type='password'> uses the correct attribute and syntax for a password input.
B. The min and max attributes are invalid on number inputs
C. The placeholder attribute is not allowed on email inputs
D. The type attribute is missing on the password input
Solution
Step 1: Review the required attribute usage
The required attribute is a boolean attribute and should not have a value like 'false'. It is either present or absent.
Step 2: Check other attributes
min and max are valid for number inputs, placeholder is valid for email, and type='password' is present.
Final Answer:
The required attribute cannot have a value -> Option A
Quick Check:
Boolean attributes have no value = The required attribute cannot have a value [OK]
Hint: Boolean attributes like required have no value [OK]
Common Mistakes:
Setting required='false' instead of removing attribute
Thinking min/max are invalid on number inputs
Confusing placeholder usage on email inputs
5. You want to create a form input that: - Accepts only numbers between 1 and 10 - Shows a placeholder "Enter a number" - Is required to submit the form Which is the correct HTML code?
hard
A. <input type='text' min='1' max='10' placeholder='Enter a number' required>
B. <input type='number' placeholder='Enter a number'>
C. <input type='number' min='1' max='10' placeholder='Enter a number' required='false'>
D. <input type='number' min='1' max='10' placeholder='Enter a number' required>
Solution
Step 1: Choose input type for numbers
Use type='number' to accept only numeric input.
Step 2: Set min, max, placeholder, and required correctly
Set min='1' and max='10' to limit range, add placeholder text, and use required as a boolean attribute without value.
Step 3: Verify options
<input type='number' min='1' max='10' placeholder='Enter a number' required> matches all requirements correctly. The version using type='text' allows non-numeric input, the one with required='false' misuses the required attribute, and the simplest version lacks range limits and the required attribute.
Final Answer:
<input type='number' min='1' max='10' placeholder='Enter a number' required> -> Option D
Quick Check:
Number input with min, max, placeholder, required = <input type='number' min='1' max='10' placeholder='Enter a number' required> [OK]
Hint: Use type='number' with min, max, and required (no value) [OK]
Common Mistakes:
Using type='text' for numbers
Setting required='false' instead of removing attribute
Omitting min and max for number limits
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.