11

我有一个关于单选按钮和表单的 jQuery 问题。

我有 5 个选项卡设置的选项卡式内容设置,每个选项卡中都有一个表单。

每个表单包含 5 个单选按钮和一个提交按钮。

我有我的 jQuery 设置来验证是否首先进行了选择,然后使用 AJAX 提交表单,关闭当前选项卡 (slideUp) 并打开下一个选项卡 (slideDown)。

我更愿意做的是删除提交按钮并在单击任何单选按钮时提交表单。这样单击单选按钮即可提交表单,关闭当前选项卡并打开下一个选项卡。

我需要做什么才能做到这一点,以便单击任何一个单选按钮将提交表单并关闭选项卡。我的 jQuery 代码发布在下面。

$("#selfAss1").validate({
    invalidHandler: function(e, validator) {
        var errors = validator.numberOfInvalids();
        if (errors) {
            var message = errors == 1
                ? 'You missed 1 field. It has been highlighted below'
                : 'You missed ' + errors + ' fields.  They have been highlighted below';
            $("div.error span").html(message);
            $("div.error").show();
        } else {
            $("div.error").hide();
        }
    },
    onkeyup: false,
    submitHandler: function() {
            $.post('/_action.php', $("#selfAss1").serialize(), function(data) {
                    $('.pane1').slideUp('slow');
                    $('#result1').html(data);
                    $('.pane2').slideDown('slow');


            });
    },
    debug:true
});
4

4 回答 4

36

从一张幻灯片到下一张幻灯片的转换由您的 处理submitHandler,因此所有单选按钮需要做的就是在单击时提交表单,请记住这一点:

$('input[type=radio]').on('change', function() {
    $(this).closest("form").submit();
});

一些笔记;首先我在这里使用了属性选择器,您可能希望将其更改为一个类或更具体的内容以满足您的需求。其次,您可能还希望包含一个“返回”方法,以允许人们更改他们的选择。使用这种方法,如果单击一次,就可以了。

于 2012-10-29T17:19:57.503 回答
8

尝试

 <input type="radio" name="something" onclick="document.getElementById('myForm').submit();"/> 

或者

 <input type="radio" name="something" onclick="this.form.submit()">

在 jquery 中尝试类似

$('input[type=radio]').click(function() {
    $("form id or class").submit();
});
于 2012-10-29T17:19:21.310 回答
6

这对我有用:

<input name="myRadio" type="radio" value="1" onchange="this.form.submit()"/>
于 2017-01-25T13:35:12.023 回答
0

尝试这个!!

 $('input[type=radio]').on('change', function() {
$('input[type=submit]').click();});
于 2020-05-04T19:17:45.380 回答