javascript - 输入不应使用的名称?

标签 javascript jquery html

早些时候,我在创建一个表单时无意中将其中一个输入命名为“name”,类似于以下伪代码:

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

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

所以我的问题是:

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

最佳答案

如果您使用像 myform.action 这样的快捷方式,大部分问题都会出现,因为 actionform 元素的一个属性(例如 idparentNode 以及您可以使用 console.dir(myform) 查看的其他一些属性。

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

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

或者,使用 jQuery :

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

正如 epascarello 所注意到的,如果您调用或使用您通过定义具有该名称的元素覆盖的属性,例如 submit,您也会遇到问题。但由于是在您的代码中调用它的人,所以如果发生这种情况应该是显而易见的。

关于javascript - 输入不应使用的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16308159/

相关文章:

javascript - Ruby on Rails : How to TDD with javascript:void(0) route

javascript - 动画运行一次的链接点击次数

javascript - 启用 'Just my code' 时,Visual Studio 2015 JavaScript 调试不会捕获未处理的异常

jquery - 滑出 div,使用 .show ignones {position :absolute; bottom:0px;} in chrome & safari, works in firefox

javascript - Ajax 输出上的 onclick 事件

javascript - AngularJS ng-repeat 唯一的对象数组

javascript - 覆盖jquery中的show方法

每当任何选择发生更改时 jQuery 操作

jQuery .click 不起作用

javascript - 使用 jQuery 在单击时滚动到下一个或上一个 DIV