お世話になります。
以前開発したVB.NETのアプリケーションでボタン(submit)を連打すると「ページを表示できません。現在、多数の人が Web サイトにアクセスしています。」という現象が出てその対応策を考えています。
実際にはボタンのクリック連打ではなく、ボタンにフォーカスを当ててキーボードのリターンキーを押しっぱなしにするとリクエストが何度もサーバーへ送られて上記のような現象となります。
対応策としてボタンが押された瞬間にJavaScriptでフラグをONにし、そのフラグがONである間は次のJavaScript:onClickイベントをreturn falseするような作りとしてみました。
ボタンは何個かあり、submit後の処理に時間が掛かるもの(情報検索)はそれで対応できたのですが比較的応答が早い処理(検索条件フォームのクリア機能)ではやはり同様のエラーとなってしまいます。
JavaScriptを使い、ボタンそのものを無効化(form.ボタン名.disabled = false)を試みましたが.netの場合はボタンを無効化させるとサーバーサイド(VB)でのpage_load処理が止まってしまうようで無応答となります。
押した瞬間にボタンを無効化させて見た目にも押した状態を表現できるのが一番好ましいのですが、連打を防止しつつボタンを無効化させる方法は無いでしょうか?
また、ボタン無効化は無理としても他に連打の対応策がありましたらご教示願えたらと思います。
No.1ベストアンサー
- 回答日時:
submit属性のボタンは作らずに
ボタンにonmouseupイベントを割り当て
submitを呼び出すか
bodyにkeyupイベントで
submitを呼び出すようにしてはどうでしょうか
アドバイスありがとうございます。
なるほど、submitならばいきなりpostされますがボタン押下のイベントをフックすることにより処理が分岐できますね。
実は質問を投稿した直後に思いついてやったことが、ボタン押下直後にそのボタンのフォーカスを外すという事でした。
document.form.buttonName.blur();とすることによりボタンからフォーカスが外れて、連打する事はなくなりました。
ご回答とは違う結果で解決しましたがとても参考になりました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- その他(生活家電) テレビリモコンのボタン修理 6 2022/05/02 22:30
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- マウス・キーボード キーボード設定で困っています。長文です。 2 2022/12/10 12:44
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- 扇風機・冷風機・サーキュレーター スマートプラグで最近の扇風機は操作できない? 5 2022/11/04 13:37
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- ノートパソコン ノートパソコンの電源が入らなくなった 7 2022/05/31 15:00
- ブルーレイ・プレーヤー・レコーダー ブルーレイプレイヤーのディスクトレイの開閉不備 5 2023/06/26 07:54
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら「ろうそくの数はあなたが好きな人の数です」と言われ浮気者扱いされたことをいまだに根に持っています。
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
VB.NETでのイベントの途中終了
Visual Basic(VBA)
-
CloseとDisposeの違い
Visual Basic(VBA)
-
ボタンをマウスで押し続けたときのイベント
Visual Basic(VBA)
-
-
4
ボタンクリックイベント 重複防止について
C言語・C++・C#
-
5
VB.NETでボタンのクリックイベントハンドラが2回実行される
Visual Basic(VBA)
-
6
ボタン2回押しを無効にしたい
JavaScript
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
VBAで多数のプログラムを一つの...
-
VBAでオプションボタンによって...
-
他フォームのクリックイベント取得
-
VBA ユーザーフォームラベルキ...
-
Access VBA でデータペーストを...
-
コマンドボタンやイメージにマ...
-
Excel VBAでの図形削除について...
-
perl/tk のScrollbarについて
-
VB2010 クリック数カウント
-
VBA CommandButtonの文字ずれ
-
エクセル VBA
-
EXCEL2003 オプションボタン複...
-
VBでのエラー音の消し方
-
.NET(VB)でボタンの連打を防止...
-
ユーザーフォームに別シートか...
-
回数のカウント
-
MouseDownとMouseMoveイベント...
-
VBA IE通知バーの制御 バー内の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
ユーザーフォームに別シートか...
-
VBA CommandButtonの文字ずれ
-
フォームの再読み込み
-
コマンドボタンやイメージにマ...
-
Excel VBA Application.caller...
-
アイコンとボタンの違い
-
ボタンをマウスで押し続けたと...
-
閉じると「+」になり開くと「-...
-
セルをマクロのボタンにしたい。
-
VBA マクロでの網掛けについて
-
VB.net でトグルボタンを実現し...
-
VBAのボタンの位置が変わって困...
-
Access VBA でデータペーストを...
-
VBAで多数のプログラムを一つの...
-
プロシージャからイベントをコ...
-
VBA でのボタンの移動について
-
VBAでオプションボタンによって...
-
[Excel VBA]コマンドボタンの入...
おすすめ情報