Текстовое поле
Что-то совсем я запуталась, если прямо записать
document.fr.ans1.value; document.fr.ans2.value; То выводит значения. А в цикле не выводит. <input type="text" name="ans1" size="25" value="" /> <input type="text" name="ans2" size="25" value="" /> for(k=1; k<3; k++) { alert(document.getElementsByName("ans"+k).value); alert(document.fr.ans[k].value); alert(document.getElementsByName("ans"+k).length); alert(document.fr.ans[k].length); } |
document.getElementsByName возвращает список элементов (NodeList), похожий на массив.
нужно так: <form name="fr"> <input type="text" name="ans1" size="25" value="" /> <input type="text" name="ans2" size="25" value="" /> </form> <script> for(var k=1; k<3; k++) { alert(document.getElementsByName("ans"+k)[0].value); alert(document.fr['ans'+k].value); alert(document.getElementsByName("ans"+k).length); alert(document.fr['ans'+k].length);// ссылается на первый элемент ans+k, так что undefined } </script> |
Большое спасибо, наконец исправила эту ошибку.
|
Часовой пояс GMT +3, время: 08:27. |