Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found

Submitted

interactive-rating-component

cryptosossoβ€’ 150

@cryptososso

Desktop design screenshot for the Interactive rating component coding challenge

This is a solution for...

  • HTML
  • CSS
  • JS
1newbie
View challenge

Design comparison


SolutionDesign

Solution retrospective


Eager to have your feedback on my JS, surely there is a way to write less code

Community feedback

Sahiruβ€’ 220

@bhatsahil13579

Posted

Nice job cryptososso πŸ˜€

Here are some feedbacks

Your all buttons are having borders you can remove them simply by adding ( border : none)

In Js Part :

i see that you have added event Listener for each button separately but you can do it by only adding event Listener one time through ForEach method like this :

btn.forEach(elements => 
   
elements.addEventListener("click", () => {
}
  })

but make sure you have selected that element by querySelectorAll

and also there is no need for score1 , score2 like that you can simply do it like this :

btn.forEach(elements => {``
   
elements.addEventListener("click", () => {``
   
 rateScore.textContent = elements.textContent
}
 })

and i can click submit button without submitting rating to stop that add disabled attribute to your all rating buttons and then in js you can remove that attribute if the click is true like this

btn.forEach(elements => {
   
elements.addEventListener("click", (task) => {
     
rateScore.textContent = elements.textContent
    
 if (task) {
    
btn.removeAttribute("disabled"  )
      }

   })
}
 }) 

hope it will help you πŸ˜€πŸ˜€

Marked as helpful

0

cryptosossoβ€’ 150

@cryptososso

Posted

@bhatsahil13579 Thank you for the feedback very helpful

0

@VCarames

Posted

Hey there! πŸ‘‹ Here are some suggestions to help improve your code:

  • The β€œicons/illustrations” in this component serve no other purpose than to be decorative; They add no value. There alt tag should be left blank and have an aria-hidden=β€œtrue” to hide them from assistive technology.

More Info:πŸ“š

https://www.w3.org/WAI/tutorials/images/

  • The proper way to build the "rating buttons" in this challenge is to create a form and inside of it, there should be fiveinput radios and each input should have a label attached to it to make the buttons accessible. Finally wrap all the inputs and labels inside a fieldset to prevent users from making more than one selection.

More Info:πŸ“š

MDN <input type="radio">

MDN <fieldset>: The Field Set element

If you have any questions or need further clarification, feel free to reach out to me.

Happy Coding!πŸŽ„πŸŽ

0

cryptosossoβ€’ 150

@cryptososso

Posted

@vcarames Thank you very much for your feedback

1

Please log in to post a comment

Log in with GitHub
Discord logo

Join our Discord community

Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!

Join our Discord