Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入不应使用的名称?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 输入不应使用的名称?

Javascript 输入不应使用的名称?,javascript,jquery,html,Javascript,Jquery,Html,早些时候,我正在创建一个表单,无意中将我的一个输入命名为“name”,类似于下面的伪代码: <input id="name" type="text" name="name" /> 然后我想起了在过去,我遇到过名为“action”的输入问题。如果我没记错的话,这些问题是在JavaScript增强过程中出现的(表单的操作和名为“action”的输入之间存在混淆) 因此,我的问题是: 使用类似于上面代码片段的东西安全吗 是否存在一些通常不应用作输入名称的规范字符串列表 如果您使用像

早些时候,我正在创建一个表单,无意中将我的一个输入命名为“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
,您也会遇到问题。但是,由于您是在代码中调用它的人,如果发生这种情况,这一点应该是显而易见的。

如果您使用jquery来定位它们,那么使用任何有效名称都可能是可以的,我想说,避免表单的公共属性以及附加到表单的方法名称。常见的问题是getElementById不会为您节省100%的时间。命名一个元素submit并通过JavaScript调用提交。该名称将覆盖该方法。