【发布时间】:2015-02-14 17:44:24
【问题描述】:
我有一个 HTML 表单,其中一个输入名为 submit
我在表单中还有一个格式很好的 HTML 元素,它应该在点击时提交表单。
我注意到 form.submit 被名为 submit 的输入字段覆盖,因此我无法再调用 form.submit()。
我已经搜索了一个答案,一般的反应是重命名输入。但是我不能那样做。 submit 大部分在请求正文中作为带有值的参数出现。
示例代码:
<form action="http://example.com/search" method="POST">
<!-- other generated parameters -->
<input value="findItems" name="submit" type="hidden">
<a onclick="event.stopPropagation();this.parentNode.submit()" href="javascript:{}">
<!-- this is dinamically generated
and generally much more complex --->
<strong>search</strong>
</a>
</form>
请记住,我的限制如下:
- 用户点击提交表单的元素包含其他格式化元素
-
submit是请求正文中的必需参数 - 请求方法必须是POST
- 无法对后端进行任何修改
PS:这是我关于堆栈溢出的第一个问题,喜欢这个网站。
【问题讨论】:
-
附注一下,您没有带有名为 submit 的属性的输入,而是名称为 submit ;)
-
请查看我的答案的更新版本。
-
@vbo 请仔细阅读您的意思的问题中所涉及的“背景”,以了解这两个问题是不同的。
标签: javascript html forms post