【发布时间】:2011-10-13 08:56:05
【问题描述】:
经过一些复杂的检查后,我想手动提交表单。因为检查涉及用户交互,所以整个检查过程不是同步进行的。这是场景:
- 用户单击按钮(HTML
<button id='button-id'>标记) - 我阻止按钮的默认操作(即表单提交)
- 我做了一个复杂的检查。
- 在检查过程中的某处,我显示一个对话框并等待用户响应(此处,原始检查函数继续执行并返回)
- 我为该对话框提供了一个回调函数,它会在用户关闭它时触发并运行(正面或负面结果)
- 现在,我应该提交表单,但原始 HTML
<button id='button-id'>应该作为successful control 发布。换句话说,我应该将按钮标签的name作为发布参数之一添加到服务器。
我使用 jQuery 的 $('#form-id').submit() 方法。如何将<button> 元素的name 添加到HTTP Post 参数?
【问题讨论】:
-
不是直接调用
$('#form-id').submit(),你可以设置一个标志,验证是否结束,然后调用$('#button-id').click(),然后触发$('#form-id').submit()而不是验证。不确定这是否有效,但您可以尝试一下。 -
是的@FelixKling,这是我们的第一个解决方案。谢谢你的建议。但这只是一个技巧。我们想知道是否可以添加一些东西来发布参数。这似乎是直接的解决方案。 :)
-
您也可以在表单中插入一个与
<button>同名的隐藏字段(当然,删除或更改按钮的name属性),然后调用$.submit()。
标签: jquery parameters http-post form-submit