jQuery表单提交vs document.form.submit

dda*_*ala 5 javascript forms jquery adobe-analytics

我有以下表格:
<form name="dealerLocatorForm"method="post"action="result.php">...</form>

我已将Omniture SiteCatalyst formAnalyis插件附加到它,它应该仅在表单未提交时发回信息.

预期的行为:当使用提交按钮提交表单时,应该触发任何信标(因为事情按预期进行).

问题:
表单需要一些验证,因此开发人员决定使用以下方法以编程方式提交表单:document.form.dealerLocatorForm.submit()document.dealerLocatorForm.submit()

但是,当表单以这种方式提交时,插件会触发一个信标,告知我表单未提交,但事实并非如此.

另一方面,如果我使用jQuery提交如下:jQuery('form[name=dealerLocatorForm]').submit()
表单是正确提交的,并且信标不会触发!

简而言之,jQuery成功地复制了表单提交的所有功能,就好像它是由提交按钮提交的,而document.form提交则不是.

所以我的问题是:
document.form.dealerLocatorForm.submit()
document.dealerLocatorForm.submit()
和之间有什么区别?
jQuery('form[name=dealerLocatorForm]').submit()

似乎jQuery正在做一些更准确的事情.

Alp*_*esh 0

通过 javascript 提交表单的语法如下 -

document.formName.submit();
Run Code Online (Sandbox Code Playgroud)

在您的情况下,您的表单名称为dealerLocatorForm

您用于提交表单的代码是 -

document.form.dealerLocatorForm.submit();
Run Code Online (Sandbox Code Playgroud)

根据语法,这是错误的,应该如下 -

document.dealerLocatorForm.submit()
Run Code Online (Sandbox Code Playgroud)