getElementsByName и выборка из name[]
Здравствуйте!
Подскажите, почему не получается с помощью getElementsByName выбрать значения из определенных инпутов, которые состоят из массива? Есть форма, в которой два вида инпутов: input name="pr_uv[]" и input name="pr_neuv[]". Необходимо собрать все value из инпутов с именем name="pr_uv[]". Получается это сделать с помощью document.getElementsByClassName, а хотелось бы через getElementsByName. <html> <head> <title>getElementsByName</title> <meta name="generator" content="notepad"> <meta http-equiv="content-type" content="text/html; charset=windows-1251"> <script type="text/javascript"> function propUvClass() { var elems = document.getElementsByClassName('prUv'); for (var i = 0; i < elems.length; i++) { alert(elems[i].value); } } function propUvName() { var elems = document.getElementsByName("pr_uv[]"); //var elems = document.getElementsByName("pr_uv"); alert(elems); for (var i = 0; i < elems.length; i++) { alert(elems[i].value); } } </script> </head> <body> <form action="" method="post" id="Form1" name="Form1"> <input onclick="propUvName();" class="buttom" type="button" value="Подсчет (ByName)"> <br> <br> name="pr_uv[]" <input class="prUv" type="text" value="1" name="pr_uv[1]"></input> <input class="prUv" type="text" value="2" name="pr_uv[3]"></input> <input class="prUv" type="text" value="3" name="pr_uv[5]"></input> <br> name="pr_neuv[]" <input type="text" value="5" name="pr_neuv[2]"></input> <input type="text" value="7" name="pr_neuv[4]"></input> <input type="text" value="9" name="pr_neuv[7]"></input> <br> <br> <input onclick="propUvClass();" class="buttom" type="button" value="Подсчет (ByClassName)"> </form> </body> </html> |
damon,
getElementsByName Вы же отбираете по имени которого нету pr_uv[]. У Вас есть pr_uv[1], pr_uv[3],pr_uv[5] |
damon,
var elems = document.querySelectorAll('[name^="pr_uv"]'); |
damon,
<html> <head> <title>getElementsByName</title> <meta name="generator" content="notepad"> <meta http-equiv="content-type" content="text/html; charset=windows-1251"> <script type="text/javascript"> function propUvClass() { var elems = document.getElementsByClassName('prUv'); for (var i = 0; i < elems.length; i++) { alert(elems[i].value); } } function propUvName() { var elems = document.querySelectorAll('[name^="pr_uv"]'); //var elems = document.getElementsByName("pr_uv"); for (var i = 0; i < elems.length; i++) { alert(elems[i].value); } } </script> </head> <body> <form action="" method="post" id="Form1" name="Form1"> <input onclick="propUvName();" class="buttom" type="button" value="Подсчет (ByName)"> <br> <br> name="pr_uv[]" <input class="prUv" type="text" value="1" name="pr_uv[1]"></input> <input class="prUv" type="text" value="2" name="pr_uv[3]"></input> <input class="prUv" type="text" value="3" name="pr_uv[5]"></input> <br> name="pr_neuv[]" <input type="text" value="5" name="pr_neuv[2]"></input> <input type="text" value="7" name="pr_neuv[4]"></input> <input type="text" value="9" name="pr_neuv[7]"></input> <br> <br> <input onclick="propUvClass();" class="buttom" type="button" value="Подсчет (ByClassName)"> </form> </body> </html> |
ОК, понял.
Спасибо! |
Часовой пояс GMT +3, время: 14:11. |