如何使用 .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();
表单的index
是1
(没关系),但仍然无法正常工作:页面已充值,但表单未发送任何数据。
如果有人能帮我一把就好了。
谢谢!
【问题讨论】:
你能提供你的动作是什么样的吗? “....百年白色哑光斜面人字马赛克测试/” 您在哪里调用该代码?请注意,您不需要任何 javascript 即可使用提交按钮提交表单... 您好!感谢您回答@heretic-monkey 我想通过表单本身之外的按钮提交表单。这就是为什么我希望通过 JS 来做到这一点。 请edit 您的问题明确说明您期望哪些数据以及表单中包含哪些字段。您说“里面有这个按钮:”,但现在您告诉我该按钮实际上不在表单内。 【参考方案1】:页面被充值,但表单没有发送任何数据。
你的问题是,当一个表单被提交时,只有成功的控件会被包含在与它一起发送的数据中。
提交按钮只有在用于提交表单时才是成功的控件。您正在使用 JavaScript。
将name
和value
从提交按钮移到<input type="hidden">
,这将总是成功。
【讨论】:
以上是关于如何使用 .submit() 提交带有 document.forms 对象的表单的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C# 中单击带有 selenium webdriver 的 javascript 确认对话框
如何以正确的方式处理 submit() 中的 ajax 响应?
如何使用 JavaScript 在没有提交按钮的情况下提交“文件”输入?