0

以前、jquery で submit() ハンドラーが 2 回トリガーされるという問題がありました。基本的なサブミット イベント ハンドラだけでテスト ファイルを作成しましたが、問題なく動作しましたが、次のコードは動作しません。

$(document).ready(function(){
    $('#regForm').submit(function(e){
        e.preventDefault();
        $('#regForm').fadeTo('slow', 0, function(){
            $('#regForm').css('display', 'none');
            $('#mainbox').animate({height: 90}, 100);
            $('#one, #two, #three #four').fadeTo('slow', 0, function(){
                $('#one').html('Processing...').fadeTo(300, 1, function(){
                    $.post("/data/handles/account/register.php", {user: $('#user').val(), pass: $('#pass').val(), passc: $('#passc').val(), email: $('#email').val()}, function(data){
                        if (data.error == 8) {
                            alert('Yes');
                            /*
                            $('#one').html('Processing...' + data.content);
                            $('#two').html('Logging In...').fadeTo('slow', 1, function(){
                                $('#three').html('Redirecting...<a href="/account.php">[Manual]</a>').fadeTo('slow', 1, function(){
                                    setTimeout(redirect, 1000);
                                });
                            });
                            */
                        } else {
                            alert('No');
                            /*
                            $('#one').html(data.content);
                            $('#two').html('<a href="#" reset>Retry</a>').fadeTo('slow', 1);
                            */
                        }
                    }, "json");
                });
            });
        });
    });
});

このコードをテストすると、すべてを正しく入力し、php ファイルからデータベースに 2 つの mysql エントリを作成すると、「はい」というアラートが 2 回表示されます。この問題に関連する他の質問を調べましたが、これを修正していないので、ここで何か間違ったことをしているのか、それとも修正する方法があるのでしょうか。助けてくれてありがとう。

4

1 に答える 1