0

フォームに id のチェックボックスtermsと class の送信ボタンがありますregistration。最初は送信ボタンを無効にしてから、ユーザーが条件チェックボックスのオンとオフを切り替えるたびにオンとオフを切り替えたいと思います。また、送信ボタンがクリックされたときに確認ダイアログがポップアップし、確認された場合は送信ボタンが再び無効になるようにしたいと思います(重複クリックを防ぐため)。最後の部分と最初の部分は動作するようになりました (と思います) が、トグルを動作させる方法がわかりません。これは私がこれまでに持っているものです:

$(document).ready(function() {

    // Disable submit button initially
    $('form.registration input[type=submit]').attr('disabled', 'disabled');

    // Toggle submit button whenever the terms are accepted or rejected
    $('#terms').change(function() {

        if($('#terms:checked').val() !== null)
            $('input[type=submit]', this).attr('disabled', '');
        else
            $('input[type=submit]', this).attr('disabled', 'disabled');

    });

    // Ask for confirmation on submit and disable submit button if ok
    $('form.registration').submit(function() {

        if(confirm('Have you looked over your registration? Is everything correct?')) {
            $('input[type=submit]', this).attr('disabled', 'disabled');
            return true;
        }

        return false;

    });

});

誰かが私がこの仕事をするのを手伝ってくれますか? 私は現時点で完全な JQuery 初心者なので、簡素化や修正も歓迎します。

4

1 に答える 1

3

この部分:

$('#terms').change(function() {
    if($('#terms:checked').val() !== null)
        $('input[type=submit]', this).attr('disabled', '');
    else
        $('input[type=submit]', this).attr('disabled', 'disabled');
});

#terms要素 (, thisパーツ)内の送信ボタンのみを探します。これがあなたが望むものだと思います:

$('#terms').change(function() {
   $('input[type=submit]').attr('disabled', !$(this).is(':checked'));
});
于 2010-03-26T16:16:29.057 に答える