早些时候,我在创建一个表单时无意中将其中一个输入命名为“name”,类似于以下伪代码:
<input id="name" type="text" name="name" />
然后我想起过去,我遇到过名称为“action”的输入问题。如果我没记错的话,问题是在使用 JavaScript 进行增强时出现的(表单的操作和名称为“action”的输入之间存在混淆)。
所以我的问题是:
- 使用类似于上述代码段的内容是否安全?
- 是否有一些通常不应用作输入名称的规范字符串列表?
最佳答案
如果您使用像 myform.action
这样的快捷方式,大部分问题都会出现,因为 action
是 form
元素的一个属性(例如 id
、parentNode
以及您可以使用 console.dir(myform)
查看的其他一些属性。
您应该始终使用快速可靠的方式:
var inputElement = document.getElementById('action');
或者,使用 jQuery :
var $input = $('#action');
正如 epascarello 所注意到的,如果您调用或使用您通过定义具有该名称的元素覆盖的属性,例如 submit
,您也会遇到问题。但由于您是在您的代码中调用它的人,所以如果发生这种情况应该是显而易见的。
关于javascript - 输入不应使用的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16308159/