【问题标题】:javascript document.forms[0] and document.<formname> have different elementsjavascript document.forms[0] 和 document.<formname> 有不同的元素
【发布时间】:2014-07-14 08:59:26
【问题描述】:

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

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

关键是服务将以undefined 提供。 当我检查form.elementsnull 时;但是,如果我使用 document.formname 访问表单,我可以看到元素集合中的字段。

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

【问题讨论】:

    标签: java javascript jsp struts2


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-21
      • 1970-01-01
      • 2011-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多