Issue on Basic HTML and HTML5: Create a Set of Radio Buttons

Hi guys!
I have been trying this section for a good amount of time now. I watched the video twice, read a forum post, double checked, and I still don’t know what I’m doing wrong. Initially, my labels were above my input elements per the example. In the video, they had it the opposite, so I switched them thinking that was the problem. Every adjustment I make seems to make another thing right, and another thing wrong. Please help me find my error!!

Your code so far


<h2>CatPhotoApp</h2>
<main>
<p>Click here to view more <a href="#">cat photos</a>.</p>

<a href="#"><img src="https://bit.ly/fcc-relaxing-cat" alt="A cute orange cat lying on its back."></a>

<p>Things cats love:</p>
<ul>
  <li>cat nip</li>
  <li>laser pointers</li>
  <li>lasagna</li>
</ul>
<p>Top 3 things cats hate:</p>
<ol>
  <li>flea treatment</li>
  <li>thunder</li>
  <li>other cats</li>
</ol>

<form action="/submit-cat-photo">
<input id="indoor" type="radio" name="indoor-outdoor">
<label for="indoor"Indoor</label>
<input id="outdoor" type="radio" name="indoor-outdoor">
<label for="outdoor">Outdoor </label>
<input type="text" placeholder="cat photo URL" required>
  <button type="submit">Submit</button>
</form>
</main>

Your browser information:

User Agent is: Mozilla/5.0 (X11; CrOS x86_64 12499.51.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.92 Safari/537.36.

Challenge: Create a Set of Radio Buttons

Link to the challenge:
https://www.freecodecamp.org/learn/responsive-web-design/basic-html-and-html5/create-a-set-of-radio-buttons

What do the failing tests say?

1 Like
  • One of your radio buttons should have the label indoor

  • Each of your two radio button elements should be nested in its own label element.

These are the ones I have^

Do you see how each of your radio buttons begins and ends before a label element? That’s what is meant by " Each of your two radio button elements should be nested in its own label element."

1 Like

So the radio buttons should not be inside an input element per the example?

I see what you mean now. Let me try something real quick.

So now the first problem went away. I am now left with these two problems: " One of your radio buttons should have the label indoor. One of your radio buttons should have the label outdoor ."

Here is my updated code:
image

when you put text inside a h1 element, where you put it, inside the angular brackets? like this? <h1 Hi></h1>
check what you have written. The label should also appear in the preview to the right.

2 Likes

I reversed the type=“radio” and the id=“indoor” and it seemed to work…


Do you folks know why that would make a difference? If so, why is it written otherwise in the example?

1 Like

It isn’t because of the order of the attributes. You previously had the text “Indoor” and “Outdoor” jammed inside the opening tags

I see. Thank you for all of your help, much appreciated.