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

发布于 2024-12-03 11:19:46 字数 409 浏览 0 评论 0原文

我正在使用 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">

我想触发表单提交。

我该怎么做?

I am using jQuery 1.6 and I would like to submit a form by clicking on a check box button.

That is, I have the following code that submits a form

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

and when I click on a check box which HTML code is

<input type="checkbox" value="true" ... id="check_box_id">

I would like to trigger the form submission.

How can I do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

苏大泽ㄣ 2024-12-10 11:19:46

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

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

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

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

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

You can trigger the submit event by simply calling submit with no arguments:

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

Alternatively, you can use the trigger method:

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

As it looks like you're firing an asynchronous request in the submit event handler, rather than using the default form behaviour, I would suggest disabling the checkbox (or removing the event handler) in the submit event handler, and then re-enabling it in the success callback of the get method, to prevent the user from submitting repeatedly.

决绝 2024-12-10 11:19:46
$jQ("#check_box_id").click(function(){
  $jQ("#search").submit();
});
$jQ("#check_box_id").click(function(){
  $jQ("#search").submit();
});
反差帅 2024-12-10 11:19:46

在不带参数的情况下调用表单的submit()将触发表单提交。

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

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

Calling submit() on the form with no parameters will trigger it to submit.

Most event handlers in jQuery share this; calling .click() will simulate a click, whereas .click(function...) sets a handler.

$(document).ready(function()
{
    $('#check_box_id').click(function()
    {
        $('#search_form').submit();
    });
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文