我正在尝试在struts 2中实现客户端验证。我的主题是xhtml
。生成的javascript无法验证我的代码。调试后,我发现struts使用以下表示法来引用元素。
form = document.getElementById(<form id>);
service = form.elements['service'];
重点是服务未定义。
当我检查form.elements
为空时;但是,如果我使用document.formname
访问表单,我可以看到元素集合中的字段。
我在想document.forms[0]
正在返回与document.getElementById(formid)
相同的对象。有什么区别??
答案 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>