【发布时间】:2017-06-22 23:47:58
【问题描述】:
给定一个简单的形式:
<form id="data" action="">
<input type="text" name="id">
<input type="text" name="info">
<button type="submit" name="ok">
</form>
我可以读取属性和表单字段如下:
var data=document.querySelector['form#data'];
alert(data.action);
alert(data['action']);
alert(data.info);
alert(data['info']);
alert(data['id']);
alert(data.id);
现在,在大多数情况下,form['info'] 是form.info 的替代品。不过我更喜欢将form['info'] 用于表单字段,将form.info 用于实际属性。
问题是:在 JavaScript 中,如何确定form['info'](或form.info)是表单字段还是表单属性?我知道它来自上面的表格,但不知道具体的表格我怎么知道?
补充一下,如果我有一个与属性名称相同的表单字段(例如上面的id),哪个优先?
【问题讨论】:
-
data['action']和data.action完全一样 -
不清楚您要确定和实现的目标是什么?
-
@guest271314 在 JavaScript 中如何判断
form['item']是字段还是另一个属性? -
item不是form或input元素的属性。给定问题的html,data.info和data.id通过name属性设置在name属性html选择元素。 -
“表单域”是指 HTML 中的属性吗?它们是独立的事物,并非所有属性值在更改时都会反映在属性中。使用点或方括号表示法访问属性将始终返回属性值。要获取属性值,请使用
getAttribute('value')。
标签: javascript html forms properties field