如何使用 .submit() 提交带有 document.forms 对象的表单

Posted

技术标签:

【中文标题】如何使用 .submit() 提交带有 document.forms 对象的表单【英文标题】:How to use .submit() to submit a form with document.forms object 【发布时间】:2020-06-12 16:45:48 【问题描述】:

我有这个表格:

<form class="cart" method="post" enctype="multipart/form-data">

里面有这个按钮:

<button type="submit" name="add-to-cart" value="8861" class="single_add_to_cart_button button alt">Add to cart</button>

我正在尝试使用forms 对象的submit() 函数提交表单。

document.forms[1].submit();

表单的index1(没关系),但仍然无法正常工作:页面已充值,但表单未发送任何数据。

如果有人能帮我一把就好了。

谢谢!

【问题讨论】:

你能提供你的动作是什么样的吗? “....百年白色哑光斜面人字马赛克测试/” 您在哪里调用该代码?请注意,您不需要任何 javascript 即可使用提交按钮提交表单... 您好!感谢您回答@heretic-monkey 我想通过表单本身之外的按钮提交表单。这就是为什么我希望通过 JS 来做到这一点。 请edit 您的问题明确说明您期望哪些数据以及表单中包含哪些字段。您说“里面有这个按钮:”,但现在您告诉我该按钮实际上不在表单内。 【参考方案1】:

页面被充值,但表单没有发送任何数据。

你的问题是,当一个表单被提交时,只有成功的控件会被包含在与它一起发送的数据中。

提交按钮只有在用于提交表单时才是成功的控件。您正在使用 JavaScript。

namevalue 从提交按钮移到&lt;input type="hidden"&gt;,这将总是成功。

【讨论】:

以上是关于如何使用 .submit() 提交带有 document.forms 对象的表单的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中单击带有 selenium webdriver 的 javascript 确认对话框

jquery .submit();

如何以正确的方式处理 submit() 中的 ajax 响应?

如何使用 JavaScript 在没有提交按钮的情况下提交“文件”输入?

如何防止HTMLFormElement.submit()调用表单提交[重复]。

POST表单提交后django显示消息