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();
});

いくつかのメモ。最初にここで属性セレクターを使用しましたが、それをクラスまたはニーズに合わせたより具体的なものに変更することをお勧めします。次に、「return」メソッドを含めて、ユーザーが選択を変更できるようにすることもできます。この方法では、一度クリックすればそれだけです。

于 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 に答える