早些时候,我正在创建一个表单并且无意识地将其命名为“name”之一,类似于以下伪代码:
<input id="name" type="text" name="name" />
然后我记得在过去,我遇到了名为“action”的输入问题。如果我没记错的话,在使用JavaScript进行增强时会出现问题(表单的操作与名称为“action”的输入之间存在混淆)。
所以我的问题是:
答案 0 :(得分:3)
如果您使用myform.action
之类的快捷方式,则会出现大多数问题,因为action
是form
元素的属性(例如id
,parentNode
,以及使用console.dir(myform)
)可以看到的其他一些属性。
您应始终使用快速可靠的方式:
var inputElement = document.getElementById('action');
或者,使用jQuery:
var $input = $('#action');
正如epascarello所注意到的那样,如果通过定义具有该名称的元素来调用或使用您覆盖的属性,也会遇到问题,例如submit
。但是,当你'是在你的代码中调用它的人时,它应该是显而易见的。