jQuery$(';#form';).submit()与javascript document.form.submit()的比较

jQuery$(';#form';).submit()与javascript document.form.submit()的比较,javascript,jquery,forms,Javascript,Jquery,Forms,任何人都可以解释为什么这行代码会提交我的表格: document.myForm.submit(); 但这行不行 $('#myForm').submit(); 其他一切都是一样的,但是在我的javascript中去掉这一行会产生巨大的不同。我没有任何名为“提交”的输入元素,以防你们中的任何人想知道 编辑:此处myForm元素的id和名称都是“myForm”document.myForm.submit()正在引用表单的名称属性,该属性必须是myForm,因为它正在工作 jQuery代码段$('#

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

document.myForm.submit();
但这行不行

$('#myForm').submit();
其他一切都是一样的,但是在我的javascript中去掉这一行会产生巨大的不同。我没有任何名为“提交”的输入元素,以防你们中的任何人想知道


编辑:此处myForm元素的id和名称都是“myForm”

document.myForm.submit()
正在引用
表单的
名称
属性,该属性必须是
myForm
,因为它正在工作


jQuery代码段
$('#myForm').submit()
正在查找ID为
myForm
的表单,而不是按名称查找,因此如果您的表单没有将
ID
属性设置为
myForm
,这就是您看到此行为的原因。显然,后一行代码还需要页面上包含的jQuery才能工作,因为它不是普通的JS
正在引用
表单的
名称
属性,该属性必须是
myForm
,因为它正在工作

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

document.myForm.submit();

<form name="myForm">
<form id="myForm">

<form name="myForm">
<form id="myForm">

<form name="myForm">
<form id="myForm">

<form name="myForm">
<form id="myForm">

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


我感谢所有回应者的帮助

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


我感谢所有回应者的帮助

第一个使用表单的
名称
,第二个尝试使用
id
,如果没有这样的
id
文档,则会失败。myForm.submit()
不会触发附加到表单的提交处理程序,但是
$(“#myForm”).submit()
will正如其他评论所暗示的,我们希望看到一些HTML。出于好奇,包括jquery?第一个使用表单的
名称
,第二个尝试使用
id
,如果没有
id
文档,则会失败。myForm.submit()不会触发附加到表单的提交处理程序,但是
$(#myForm')。提交()
will正如其他评论所暗示的,我们希望看到一些HTML。出于好奇,包括jquery?这可能是这种行为的原因。我们不确定,因为OP没有提供足够的代码来给出准确的答案。@BlueSkies是对的,可能还有很多其他的东西,但我假设这是基于提供的最小信息和问问题的人的感知技能水平。我想在他们进一步澄清之前,可能应该是一个评论?你知道他们对假设的看法。这让你和我…;)都很紧张,因为你提出了一个很好的观点,但这不是我问题的答案。这可能是这种行为的原因。我们不确定,因为OP没有提供足够的代码来给出准确的答案。@BlueSkies是正确的,可能还有很多其他事情,但我假设这是基于给出的最小信息和提问者的感知技能水平。我想这应该是一个评论,而不是等待他们进一步澄清?你知道他们是怎么说的。它让你和我变成了一个**……;)投票是因为你的观点很好,但这不是我问题的答案。投票是因为你的观点很好(说得很好),但这不是我问题的答案。投票是因为你的观点很好(说得很好),但这不是我问题的答案。