jQuery $('#form')。submit()与javascript document.form.submit()

时间:2013-11-12 16:48:25

标签: javascript jquery forms

任何人都可以解释为什么这行代码会提交我的表单:

document.myForm.submit();

但这条线不会?:

$('#myForm').submit();

其他所有内容都完全相同,但在我的javascript中切换出那一行会产生巨大的差异。我没有任何名为“submit”的输入元素,以防你们有任何疑惑。

编辑:我的表单元素的id和名称都是“myForm”

3 个答案:

答案 0 :(得分:2)

document.myForm.submit();

<form name="myForm">

<小时/> 但是

$('#myForm').submit();

<form id="myForm">

<小时/> 因此,请使用attribute equals selector

$('form[name="myForm"]').submit();

答案 1 :(得分:1)

document.myForm.submit();引用name的{​​{1}}属性,form必须为myForm,因为它正在运行。

jQuery代码段$('#myForm').submit();正在查找ID为myForm的表单,而不是按名称查找,因此如果您的表单没有将id属性设置为{{1}这就是你看到这种行为的原因。显然后一行代码也要求页面上包含jQuery才能工作,因为它不是vanilla JS。

答案 2 :(得分:1)

这最终与jQuery的验证插件发生冲突。我项目中的其他人将此插件添加到页面中,因此我没有意识到$('#myForm')。submit()版本触发了验证并阻止了表单提交。

感谢所有回复者的帮助!