3

JavaScriptを使用して押された後に送信ボタンを無効にしたいと思います。

myForm.onsubmit = function() { ... mySubmitButton.disabled = true; ... }

ただし、現在のページがまだ生きている間にユーザーが新しいページを開くのをやめると、ボタンは無効のままになります。

サーバーからのコンテンツがファイルの場合も同じ結果になります (この場合、新しいページへのリダイレクトはありません)。

ブラウザが新しい URL をロードして mySubmitButton を再度有効にすることを「望んでいない」かどうかを判断する方法はありますか?

4

2 に答える 2

1

すべてクライアント側で行う必要がある場合は、いくつかの方法があります。

  1. 任意のフォーム フィールドをクリックするなど、ユーザーが再度編集することにした場合は、ボタンを再び有効にしてみてください。

  2. @Adilsonが言ったこと、 setTimeout も良い解決策です。何かがうまくいかなかったことがわかるまで数秒以上待つ必要はありません。

  3. 送信が失敗した場合にボタンを再度有効にするコマンドを返すことができる jQuery ajax 呼び出しを使用してフォームを送信することもできます。

もっと多くの解決策があると確信しています。この 3 つが、あなたが抱えている問題を解決するためのヒントになることを願っています。

于 2011-03-24T11:35:03.557 に答える
1

setTimeout を使用して、ボタンを再度有効にする関数を呼び出すことができると思います。タイムアウトは、5000 (5 秒) などの適切な値にする必要があります。ページのリダイレクト後に setTimeout/Interval 呼び出しが実行されるかどうか覚えていないので、最初にテストしてください。

于 2011-03-07T03:49:12.860 に答える