2

http://www.gamereview.tv/email/

送信ボタンは1回だけ機能します。最初の試行でエラーが発生した場合、ボタンを再度クリックすることはできません。テストするときは、無効なメールアドレスを入力してください。プロンプトが表示され、修正するとボタンが機能しなくなります。何故ですか?

JavaScript:

$('#submit').click(function() {
    $("#message").slideUp(200,function() {
        $('#message').hide();

        // Kick in Validation
        $('#name, #subject, #phone, #comments, #website, #verify, #email').triggerHandler("focusout");

        if ($('#contact mark.error').size()>0) {
            if(shake == "Yes") {
                $('#contact').effect('shake', { times:2 }, 75, function(){
                    $('#contact input.error:first, #contact textarea.error:first').focus();
                });
            } else $('#contact input.error:first, #contact textarea.error:first').focus();

            return false;
        }

    });
});

$('#contactform').submit(function(){

    if ($('#contact mark.error').size()>0) {
        if(shake == "Yes") {
        $('#contact').effect('shake', { times:2 }, 75);
        }
        return false;
    }

    var action = $(this).attr('action');

    $('#submit')
        .after('<img src="assets/ajax-loader.gif" class="loader" />')
        .attr('disabled','disabled');

    $.post(action, {
        name: $('#name').val(),
        email: $('#email').val(),
        phone: $('#phone').val(),
        website: $('#website').val(),
        subject: $('#subject').val(),
        comments: $('#comments').val(),
        verify: $('#verify').val()
    },
        function(data){
            $('#message').html( data );
            $('#message').slideDown();
            $('#contactform img.loader').fadeOut('slow',function(){$(this).remove()});
            $('#contactform #submit').attr('disabled','');
            if(data.match('success') != null) $('#contactform').slideUp('slow');

        }
    );

    return false;

});
4

1 に答える 1

1

コードは送信ボタンを無効にし、投稿が成功した場合にのみ再度有効にします。

于 2012-10-28T04:05:57.140 に答える