如果表单重复使用相同的标签。
如何在javascript中获取其价值。
<script>
function validate()
{
//get all values of elmone
}
</script>
<form>
<input type="text" size="15" value="Hello World" name="elmOne">
<input type="text" size="15" value="next Hello World" name="elmOne">
<input type="button" onclick="javascript:validate()" value="validate">
</form>
谢谢..
答案 0 :(得分:2)
将两个不同的文本输入元素命名为通用名称并不常见。但是,回到问题,你总是可以使用document.getElementByName('elmOne');获取匹配输入的列表,然后遍历它以获取值
var input_list = document.getElementsByName('elmOne');
for(var i = 0; i < input_list.length; i++) {
// either way should get you the value
console.debug(input_list[i].value, input_list[i].getAttribute('value'));
}
您可能需要参考此page以获取有关兼容性的更多信息
答案 1 :(得分:1)
您可以使用 document.forms 属性来获取文档表单数组,从索引0开始,HTML代码中出现第一个表单元素,依此类推。或者您可以使用名称作为数组索引来访问具有“name”属性的表单。因此,要访问HTML代码中的第一个表单,请使用:
var f = document.forms[0];
如果表单的名称类似于“loginForm”,您可以像:
var f = document.forms['loginForm'];
现在您有对表单的引用,您可以使用表单的.elements属性访问其中的元素。此属性是一个具有与document.forms相同的索引属性的数组。因此,您可以使用数字索引按HTML代码中的顺序访问每个元素,第一个使用0,或者通过将每个元素的name属性作为索引来使用命名索引。
所以要访问您可能使用的表单中的第二个元素:
var el = f.elements[1];
或者如果元素的name属性为“username”,则可以通过以下方式引用它:
var el = f.elements["username"];
这样您就可以引用文档中任何形式的任何元素。
答案 2 :(得分:0)
var elem = document.form.all.namedItem("elmOne")
将返回所需元素的数组。然后只需遍历它并使用elem.value
答案 3 :(得分:0)
var items = document.getElementsByName("elmOne");
for (var i = 0; i < items.length; i++) {
var item = items[i];
}
但是,这会在IE中出现一些意想不到的行为。有关详细信息,请参阅this question。基本思想是Microsoft的这个功能的实现与其他浏览器的实现不同。因此,您可以跨浏览器获得相互矛盾的结果。
解决方案是找到一种不同的方式来关联这些元素,并使用它来获取所需的项目。