如何通过单击复选框触发表单提交?

时间:2011-09-09 07:22:08

标签: javascript jquery forms triggers submit

我正在使用jQuery 1.6,我想通过单击复选框按钮提交表单。

也就是说,我有以下代码提交表单

$jQuery('#search_form').submit(function () {
  $jQuery.get(this.action, $jQuery(this).serialize(), null, 'script');
  return false;
});

当我点击一个HTML代码为

的复选框时
<input type="checkbox" value="true" ... id="check_box_id">

我想触发表单提交。

我该怎么做?

3 个答案:

答案 0 :(得分:4)

您可以通过简单地调用不带参数的submit来触发submit事件:

$jQuery("#check_box_id").click(function() {
    $jQuery("#search").submit();
});

或者,您可以使用trigger方法:

$jQuery("#search").trigger("submit");

因为看起来你在提交事件处理程序中触发异步请求,而不是使用默认的表单行为,我建议在submit事件处理程序中禁用复选框(或删除事件处理程序) ,然后在get方法的成功回调中重新启用它,以防止用户重复提交。

答案 1 :(得分:0)

$jQ("#check_box_id").click(function(){
  $jQ("#search").submit();
});

答案 2 :(得分:0)

在没有参数的表单上调用submit()将触发它提交。

jQuery中的大多数事件处理程序都有这个分享;调用.click()会模拟一次点击,而.click(function ...)会设置一个处理程序。

$(document).ready(function()
{
    $('#check_box_id').click(function()
    {
        $('#search_form').submit();
    });
});