Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialShanda Cunningham
3,693 PointsI keep getting "You need to add a <label> element with its "for" attribute set to "shipping" within the <form> element."
I keep getting this error and I do not know what I'm doing wrong.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HTML Forms</title>
</head>
<body>
<form action="index.html" method="post">
<h1>Shirt Order Form</h1>
<label for="color">Shirt Color:</label>
<select id="color" name="shirt_color">
<option value="red">Red</option>
<option value="yellow">Yellow</option>
<option value="purple">Purple</option>
<option value="blue">Blue</option>
<option value="green">Green</option>
<option value="orange">Orange</option>
</select>
<label>Shirt Size:</label>
<input type="radio" id="small" value="small" name="shirt_size"><label for="small">Small</label><br>
<input type="radio" id="medium" value="medium" name="shirt_size"><label for="medium">Medium</label><br>
<input type="radio" id="large" value="large" name="shirt_size"><label for="large">Large</label><br>
<input type="checkbox" id="shipping" value="fast_shipping"><label>Fast Shipping</label><br><label for="newsletter"></label>
<input type="checkbox" id="newsletter" value="subscribe"><label>Subscribe to Newsletter></label><br>
<button type="submit">Place Order</button>
</form>
</body>
</html>
2 Answers
James Anwyl
Full Stack JavaScript Techdegree Graduate 49,960 PointsHi Shanda,
The for attribute is used to associate a label with an input. It's value must match the id of the input. For example:
<input type="checkbox" id="newsletter">
<label for="newsletter">Subscribe to Newsletter</label>
See how both the for and id attributes have the value newsletter
If we were to write it on one line like in the challenge, it would look like:
<input type="checkbox" id="newsletter"><label for="newsletter">Subscribe to Newsletter</label><br>
In your code:
<input type="checkbox" id="shipping" value="fast_shipping"><label>Fast Shipping</label><br><label for="newsletter"></label>
<input type="checkbox" id="newsletter" value="subscribe"><label>Subscribe to Newsletter></label><br>
You've created 3 labels, and 2 of them are missing the for attribute.
<label>Fast Shipping</label>
<label for="newsletter"></label>
<label>Subscribe to Newsletter></label>
You also have an extra > after "Subscribe to Newsletter"
Hope this helps, if you are still struggling let me know :)
Shanda Cunningham
3,693 PointsThank you!