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 trial

HTML HTML Forms Choosing Options Create Checkboxes

I 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.

index.html
<!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

Hi 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 :)

Thank you!