作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想做的是从每个类型为“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>
我检查了它是否获得了正确数量的文本类型表单元素:
document.write(document.x.elements.length);
它与我在 php for 循环中指定的数字相同。但是我只获取元素 #1 的值。它似乎没有从 qty[1]
请帮忙。谢谢
最佳答案
您遇到的问题是另一个:
您在函数内使用document.write()
。页面加载后不能使用此方法,因为它将覆盖整个文档 -> 以及函数本身。第一次调用 write 后,该函数不再存在,您将获得一个新文档,其中仅包含您刚刚写入的数据。
使用其他方法代替 write(),例如这应该有效:
document.body.appendChild(document.createTextNode(document.x.elements[i].value ));
document.body.appendChild(document.createElement('br'))
关于javascript - 如何在 javascript 中正确循环表单元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4236117/
我是一名优秀的程序员,十分优秀!