我要做的是从每个表单元素中获取值为'text'的值。你能教会我从文本框中获取值并使用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 for loop中指定的数字相同。但是我只获得了元素#1的值。它似乎不是从qty[1]
请帮忙。感谢
答案 0 :(得分:2)
你遇到的另一个问题是:
您在函数中使用document.write()
。加载页面后无法使用此方法,因为它会覆盖整个文档 - &gt;功能本身。在第一次调用write之后,函数不再存在,你得到一个新文档,其中只包含你刚才写的数据。
使用而不是write()其他方法,例如这应该有效:
document.body.appendChild(document.createTextNode(document.x.elements[i].value ));
document.body.appendChild(document.createElement('br'))