7

早些时候,我正在创建一个表单,并在不知不觉中将我的输入之一命名为“名称”,类似于以下伪代码:

<input id="name" type="text" name="name" />

然后我想起了在过去,我遇到了名称为“action”的输入的问题。如果我没记错的话,这些问题是在使用 JavaScript 进行增强期间出现的(表单的操作与名称为“操作”的输入之间存在混淆)。

所以我的问题是:

  • 使用类似于上面代码片段的东西是否安全?
  • 是否有一些通常不应用作输入名称的规范字符串列表?
4

1 回答 1

3

如果您使用诸如myform.actionas元素action的属性(例如 are 、以及您可以使用 看到的其他一些属性)之类的快捷方式,则通常会出现问题。formidparentNodeconsole.dir(myform)

您应该始终使用快速可靠的方式:

var inputElement = document.getElementById('action');

或者,使用 jQuery :

var $input = $('#action');

正如 epascarello 所注意到的,如果您调用或使用通过定义具有该名称的元素来覆盖的属性,例如submit. 但是由于是在代码中调用它的人,因此如果发生这种情况应该很明显。

于 2013-04-30T20:11:19.323 回答