0

PHP と JavaScript を使用してトリビア ゲームを作成しました。各質問には時間制限があるため、送信ボタンは用意していません。代わりに、ユーザーは Enter キーを押して回答を直接送信できます。エンターキーを押すと、ユーザーは別の URL にリダイレクトされ、投稿された回答が正しいかどうかがチェックされ、回答が正しい場合は 10 ポイントが追加され、ユーザーのポイントでデータベースが更新され、トリビア ページにユーザーがリダイレクトされます。彼らには答えるべき別の質問があります。ただし、ユーザーが正しい回答を入力し、ページをリロードせずに Enter キーを複数回押すと、その回答はスクリプトによって有効であると見なされ、回答が送信されたときと同じようにポイントが追加されます。つまり、正解を入力した後にエンターキーを 40 回押すと、400 ポイントが加算されます。私'

$("form").submit(function() {
    $(this).submit(function() {
        return false;
    });
    return true;
});

しかし、それはうまくいかないようです。データが一度送信された後、ページがリロードされるまで送信アクションを無効にするにはどうすればよいですか?

Javascript、Jquery、または PHP を使用したソリューションは大歓迎です。

4

4 に答える 4

3
var isSubmitted = false;
$("form").submit(function() {
   if(!isSubmitted){
     isSubmitted = true;
   }else{
     return false;
   }
});
于 2013-05-17T13:20:42.813 に答える
2

送信情報をデータベースに保存するために追加する必要があるソリューションの 1 つは、値 +10 を追加する前の各ユーザーのように、既に値を追加しているかどうかを確認する必要があります。私が提案する理由は、他のクライアント側のオプションがいずれかのケースで失敗する可能性があるためです。

于 2013-05-17T13:20:37.767 に答える