Текстовое поле
Что-то совсем я запуталась, если прямо записать
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, время: 11:54. |