以前、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 回表示されます。この問題に関連する他の質問を調べましたが、これを修正していないので、ここで何か間違ったことをしているのか、それとも修正する方法があるのでしょうか。助けてくれてありがとう。