私はeコマースプロジェクトに取り組んでいます。チェックアウト プロセス中に、チェックアウト プロセスの最後にアイテムを購入するためのボタンがあります。そのボタンをクリックすると、POST リクエスト (標準、AJAX なし) を使用してページにフォームが送信されます。ただし、その送信ボタンをすばやく複数回クリックすると、複数の POST リクエストがサーバーに送信されるため、複数の注文も作成されます。
私の質問: JavaScript によるこれらの複数のボタンのクリックを防ぐために保存されているのでしょうか、それとも、新しいページの読み込みが開始されたために、ある時点でページが奇妙な状態になっているのでしょうか?
インラインスクリプトでそれを行う場合、それについて違いはありますか:
onsubmit="if(submitted) return false; submitted = true; return true"
または私のJS外部ファイルで?
もう 1 つのオプションは、フォームの送信直後に送信ボタンを無効にすることですが、IE は本当に見苦しいフォントの色をボタンに追加しますが、これは CSS では削除できません。