javascript document.forms [0]和document。<formname>具有不同的元素</formname>

时间:2014-07-14 08:59:26

标签: java javascript jsp struts2

我正在尝试在struts 2中实现客户端验证。我的主题是xhtml。生成的javascript无法验证我的代码。调试后,我发现struts使用以下表示法来引用元素。

form = document.getElementById(<form id>);
service = form.elements['service'];

重点是服务未定义。 当我检查form.elements为空时;但是,如果我使用document.formname访问表单,我可以看到元素集合中的字段。

我在想document.forms[0]正在返回与document.getElementById(formid)相同的对象。有什么区别??

1 个答案:

答案 0 :(得分:0)

表单元素可以按名称访问字段,为此您应该获取表单元素。您可以通过多种方式执行此操作,使用document.getElementById()document.forms[]$("#formid")。无论你选择什么方式都没关系。请注意,文档可以包含许多表单,因此您应该引用正确的表单。通过id获取表单元素会返回一个具有id属性的元素,通过forms属性中的索引获取它,您应该知道正确的索引。获得表单元素后,您可以按名称引用输入字段。例如

<form id="formid">
 <input name="service">
</form>
<script>
 var v = document.getElementById("formid")['service'];
</script>