输入不应该使用的名称?
之前,我正在创建一个表单,并且无意识地命名了我的一个输入“名称”,类似于以下伪代码:
<input id="name" type="text" name="name" />
然后我想起了过去,我有一些问题与“行动”这个名字有关。 如果我没有记错,那么在使用JavaScript进行增强时就会出现这些问题(表单操作与名称为“action”的输入之间存在混淆)。
所以我的问题是:
如果你使用像myform.action
这样的快捷方式,主要存在问题,因为action
是form
元素的属性(就像id
, parentNode
和其他一些可以使用console.dir(myform)
看到的属性)。
您应始终使用快速可靠的方式:
var inputElement = document.getElementById('action');
或者,使用jQuery:
var $input = $('#action');
正如epascarello注意到的那样,如果您通过定义具有该名称的元素来调用或使用一个被覆盖的属性,例如submit
,您也会遇到问题。 但是,如果你是在你的代码中调用它,那么它应该是明显的,如果它发生。