jQuery中HTML表单标记的有效/无效名称是什么?

Bri*_*unt 7 html javascript forms jquery

这是从我遇到的错误流向jQuery $('form').serialize()只返回一个表单序列化的元素,其中有一个名为"elements"的表单标签,如下所示:

<form>
<input name="elements"/>
<input name="e2"/>
</form>
Run Code Online (Sandbox Code Playgroud)

防止您访问与jQuery的形式的所有命名元素$("形式").序列() (即你拿"元素="你应该得到"元素= E2 =").

我想了解更多关于表单标签的正确"名称"元素的一般信息.即什么是禁区标签("元素","名称"等),以及名称的有效字符是什么.这些内容是在标准或参考手册中定义的,还是试验和错误?

思想和投入赞赏.

谢谢阅读.

Ion*_*tan 8

除了Jonathan Sampson所说的,你不应该使用用于表单对象属性的名称.Mozilla开发人员中心一个列表,如果您仔细查看它包含一个elements对您很重要的属性,因为表单元素可以作为表单对象的直接属性进行访问.例如在你的情况下:

form.elements; // collides with the built-in elements property
form.e2;
Run Code Online (Sandbox Code Playgroud)

所以,要注意不要使用类似名称method,或action也将与的价值冲突methodaction形式元素的属性.我希望你有这个主意.


Pet*_*ley 6

对于DOM属性,"无效"名称和"已采用"名称之间存在差异.

Jonathan Sampson的答案很好地解决了"无效"名称,但根据您之前的问题,您所问的是"采用"名称,例如"表单节点上的所有其他DOM属性是什么?"

简短的回答是:很多.

长答案基本上是这两个 列表的总和,即"所有节点共有的DOM属性"和"形成节点唯一的DOM属性"

你真正想要担心的最重要的是第二个列表 - 它们可以打破你的表单应该如何运作.