在javascript中这是一个有效的构造吗?:document.name.name.value?

时间:2016-12-11 23:06:04

标签: javascript html dom

以下是表格:

<div class="form-group">
  <label class="control-label col-sm-2" for="field">Label</label>
  <div class="col-sm-10">
    <input class="form-control" id="field" type="text"/>
  </div>
</div>

此javascript函数使用以下函数获取输入值:

div

那是合法的吗?我以为你必须用<form name=fname ... <input name=iname value="" ... 做到这一点。它有效,只是我从未见过有人这样做过。这件事恰好恰好可行吗?现在呢?

1 个答案:

答案 0 :(得分:5)

更新

根据WHATWG 6.2.4 Named access on the Window object

  

Window对象支持命名属性。任何时刻支持的Window对象窗口的属性名称包含以下内容,...适用于所有appletembedformframeset,{{1} }和img元素......

根据W3C DOM 2 HTML规范2.7.2.1 HTMLAllCollection

  

以下元素名称属性可以作为文档对象的属性引用:   objectanchorappletbuttonformframeiframeimg,{{ 1}},inputmapmetaobjectparam

这种参考方法是标准的,但通常不鼓励使用它。避免通过select属性直接引用DOM属性或窗口对象的几个原因是:变量阴影,无意中确定窗口对象的范围,主要的浏览器不一致等。有关应该避免的原因的详细信息,请阅读{{3 }和this section

此代码段显示了一种稳定且标准的方式,可以将表单名称用作引用this post以及前面提到的引用表单名称。

textarea
name