【发布时间】:2012-02-02 11:58:55
【问题描述】:
问题:如果一个表单输入的名称为 submit,您如何发送带有 Javascript 的表单?
背景:我正在将用户重定向到另一个带有隐藏 HTML 表单的页面。我无法更改(隐藏)输入的名称,因为另一个页面位于另一台服务器上,并且输入需要与它们完全相同。我的 HTML 表单如下所示:
<form id="redirectForm" method="post" action="http://www.example.com/">
<input name="search" type="hidden" value="search for this" />
<input name="submit" type="hidden" value="search now" />
</form>
我今天使用以下 javascript 行自动发送表单:
document.getElementById('redirectForm').submit();
但是,由于一个输入的名称是“提交”(它不能是其他名称,否则另一台服务器不会处理请求),document.getElementById('redirectForm').submit 指的是输入,因为它覆盖了表单函数submit() .
Firefox 中的错误消息是:Error: document.getElementById("requestform").submit is not a function。 Safari 中的类似错误消息。
【问题讨论】:
-
你试过
document.getElementById('redirectForm').submit.click()吗? :P -
@Stefan 很抱歉,它没有提交表单。名称为
submit的输入没有submit或button的类型属性,而是hidden。
标签: javascript html form-submit