use*_*032 3 html javascript dom
这是表格:
<form name=fname ...
<input name=iname value="" ...
Run Code Online (Sandbox Code Playgroud)
这个javascript函数获取输入的值:
var val = document.fname.iname.value;
Run Code Online (Sandbox Code Playgroud)
这是合法的吗?我以为你必须这样做getElementsByName.它有效,只是我从未见过有人这样做过.这是恰好恰好工作的那件事之一吗?现在呢?
根据WHATWG 6.2.4对Window对象的命名访问
Window对象支持命名属性.在任何时候Window对象窗口的支持的属性名称由以下的,......对于所有
applet,embed,form,frameset,img,和object元素...
根据W3C DOM 2 HTML规范2.7.2.1 HTMLAllCollection
下列元素的名称属性可以作为文档对象的属性来引用:
anchor,applet,button,form,frame,iframe,img,input,map,meta,object,param,select,和textarea
这种引用方法是标准的,但通常不鼓励使用它.避免通过name属性直接引用DOM属性或窗口对象的几个原因是:变量阴影,无意中确定窗口对象的范围,主要的浏览器不一致等.有关应该避免的原因的详细信息,请阅读本节和本文.
此代码段显示了使用表单名称作为参考的稳定且标准的方式document.forms以及前面提到的引用表单名称.
var val1 = document.forms.fname.elements.iname.value;
console.log(val1);
var val2 = fname.iname.value;
console.log(val2);Run Code Online (Sandbox Code Playgroud)
<form name='fname'>
<input name='iname' value="42">
</form>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
246 次 |
| 最近记录: |