Learn Form Validation by Building a Calorie Counter - Step 47

Step 47

Create another label element (on a new line) at the end of your HTMLString. This label should have the text Entry # Calories, using your template literal syntax to replace # with the value of entryNumber, and the for attribute set to X-#-calories, where X is the value of entryDropdown and # is the value of entryNumber.

Error Code:
Your new label element should have a for attribute set to ${entryDropdown.value}-${entryNumber}-calories

My code DOES HAVE: ${entryDropdown.value}-${entryNumber}-calories

function addEntry() {
  const targetInputContainer = document.querySelector(`#${entryDropdown.value} .input-container`);
  const entryNumber = targetInputContainer.querySelectorAll('input[type="text"]').length;
  const HTMLString = `
  <label for="${entryDropdown.value}-${entryNumber}-name">Entry ${entryNumber} Name</label>
  <input type="text" id="${entryDropdown.value}-${entryNumber}-name" placeholder="Name" />
  <label for="${entryDropdown.value}-${entryNumber}-calories">Entry ${entryNumber} Calories
  </label>`
}

WARNING

The challenge seed code and/or your solution exceeded the maximum length we can port over from the challenge.

You will need to take an additional step here so the code you wrote presents in an easy to read format.

Please copy/paste all the editor code showing in the challenge from where you just linked.

Replace these two sentences with your copied code.
Please leave the ``` line above and the ``` line below,
because they allow your code to properly format in the post.

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0

Challenge Information:

Learn Form Validation by Building a Calorie Counter - Step 47

1 Like

i think your < /label> might be the problem, mke sure there are no spaces between Calories and the /label

The problem is that your </label> element should not be underneath the text but rather right beside since the test doesn’t account for spacing.

Maybe it’s missing a ; before the last bracket and after the last ` ?

Yep, it was the space after was the problem. Thanks again everyone! I’m sure everyone is getting a mental workout with all of my questions and misunderstandings!

3 Likes