I would like to select certain elements in form by their name, so I suppose using getElementsByName(name). Then I would like to add a value to these elements. How do I do this loop?
boxesEL = document.getElementsByName(boxesName);
for(var x=0;x<=boxesEL.length;x++){
boxesEL[x].value = "some value";
}
I'm getting an error boxesEL[x] is undefined.
After selecting elements using the querySelectorAll() or getElementsByTagName() , you will get a collection of elements as a NodeList . To iterate over the selected elements, you can use forEach() method (supported by most modern web browsers, not IE) or just use the plain old for-loop.
getElementsByName() The getElementsByName() method of the Document object returns a NodeList Collection of elements with a given name attribute in the document.
How it works: First, select the submit button by its id btnRate using the getElementById() method. Second, listen to the click event of the submit button. Third, get all the radio buttons using the getElementsByName() and show the selected value in the output element.
Take out the "=" sign in the comparison in the for loop. You're looping one too many times. Length gives you the number of elements - the maximum index of the collection will be one less, because it's zero based.
for(var x=0; x < boxesEL.length; x++) // comparison should be "<" not "<="
{
boxesEL[x].value = "some value";
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With