首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用jQuery提交表单时传递额外的变量

使用jQuery提交表单时传递额外的变量
EN

Stack Overflow用户
提问于 2011-02-24 05:12:42
回答 5查看 47.7K关注 0票数 20

我有一个表单,其中的Submit按钮不在<form>标记内。submit按钮有一个通过jQuery的submit()事件提交表单的click处理程序。这个可以完美地工作。

但是,我也需要提交按钮的值来发布。由于该按钮不存在于<form>标记中,因此它不包含在POST数组中。因此,我需要设计一种方法来在提交表单时传递一个额外的变量。

关于不能实现这一点的一些规定包括:

  • “提交”按钮不能在<form>标记内移动。
  • 它不能使用jQuery ajaxpostget方法。
  • 它不能具有隐藏的input字段或CSS隐藏的“提交”按钮。
  • 表单的行为必须与表单中有一个正常的“提交”按钮完全相同。

我设想了一些类似的东西,但显然这不起作用。

代码语言:javascript
复制
$('#admin_form').submit({'variable_name', 'true'});

有谁知道我怎么做到这一点的吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-02-24 05:20:54

您可以做的一件事就是使用onsubmit属性让javascript在表单提交时使用提交按钮的值将post字段插入到表单中。您必须使用隐藏的输入字段来完成此操作,但是您只需在用户单击submit按钮之后添加输入字段--这样输入字段就不会从一开始就存在(希望这能满足您的要求)。所以就像这样:

代码语言:javascript
复制
 function submitHandler()
 {
     submitVal = $('#submitButton').val();
     $('#myForm').append("<input type='hidden' name='submitValue' value='"+
                         submitVal+"' />");
     return true;
 }

它会在按钮被点击时插入额外的值。

票数 35
EN

Stack Overflow用户

发布于 2014-09-10 22:08:10

这似乎是一个老问题,但由于我刚刚遇到了类似的问题,并(为我)找到了一个很好的解决方案,我想我应该把它贴出来:

代码语言:javascript
复制
 $('#admin_form').trigger('submit', [ { 'variable_name': true } ]);

代码语言:javascript
复制
$('#admin_form').trigger('submit', [ 'variable_name', 'true' ]);

这取决于您是要传递一个名为variable_name的值为true的变量,还是要传递两个单独的变量。

为了清楚起见,这当然不会自动提交包含其余表单域的variable_name,但是如果您有一个提交处理程序,就像我在jQuery中做的那样,变量将在事件之后作为参数传递。

票数 3
EN

Stack Overflow用户

发布于 2011-02-24 05:43:05

Jesse的回答是通过POST实现这一点的唯一方法。您也可以将变量附加到表单的操作值,但这将通过GET而不是POST传递该参数。如果在允许默认浏览器“提交”操作之前没有将隐藏输入附加到表单,就无法在提交之前访问HTTP请求的原始post数据-这是进退两难的问题-您打算做的是更改发送到下一个页面的HTTP POST数据/标头,但是在浏览器将数据发送到下一个页面之前,数据存在的唯一方式是将input标记嵌入到form元素中。

您可以使用的另一种解决方案是在onsubmit处理程序期间使用$.post()函数通过post发送您想要的任何数据,并在成功处理程序中重定向到您想要的页面。我知道这不符合上面的规则,但这仍然是问题的另一种可能的解决方案。

如果你想变得疯狂并遵守你所有的规则,你也可以:

  1. 将表单的隐藏版本“克隆”到DOM
  2. 将提交按钮插入到表单中
  3. 在克隆的表单中触发插入的提交按钮上的单击事件。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5097184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档