Как правильно перебрать элементы формы в JavaScript - PullRequest
0 голосов
/ 21 ноября 2010

Я пытаюсь получить значение из каждого элемента формы с типом «текст». Можете ли вы научить меня, как правильно получать значения из текстового поля и выводить эти значения с помощью JavaScript?

<head>
<script type="text/javascript">
function trap(){
for(var i=0; i<document.x.elements.length; i++)
{
document.write(document.x.elements[i].value + "<br />");
}
}
</script>
</head>
<body>


<form name="x">

<?php
for($i=0;$i<2;$i++){
?>

qty #<?php echo $i; ?>
<input type="text" name="qty[<?php echo $i; ?>]" value=""/>
<img src="add-icon.png" onmouseover="trap();">

<?php } ?>

</form>

</body>

Я проверил правильность числа элементов формы типа text:

document.write(document.x.elements.length);

И это то же самое, что число, указанное в php для цикла. Однако я получаю только значение элемента # 1. Кажется, он не извлекает значение из qty[1]

Пожалуйста, помогите. Спасибо

1 Ответ

2 голосов
/ 21 ноября 2010

Проблема у вас другая:

Вы используете document.write() внутри своей функции.Этот метод нельзя использовать после загрузки страницы, поскольку он перезапишет весь документ -> и саму функцию.Таким образом, после первого вызова write функция больше не существует, вы получили новый документ, который содержит только те данные, которые вы только что написали.

Используйте вместо write () другие методы, например, это должноработа:

document.body.appendChild(document.createTextNode(document.x.elements[i].value ));
document.body.appendChild(document.createElement('br'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...