- - PR -
更新処理などの二重起動防止方法を教えて下さい
1
| 投稿者 | 投稿内容 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-02-13 11:46
検索や、更新ボタンを押した際に、二重チェックを防止する方法を教えていただきたいです。
よくHPで、更新ボタンや送信ボタンを押すところに、二回押さないで下さいとのメッセージがありますが、これは二重起動を防止するロジックがないわけですが、きちんと二重起動を防止する方法を教えていただきたいと思います。 連続押下できなくするため、クライアント側で、JavaScriptで書くことになるのでしょうか。この場合どのような処理を行えば良いのでしょうか? また、.NETには二重起動を防止する方法が備わっているのでしょうか? | ||||||||||||
|
投稿日時: 2004-02-13 11:52
この手のスレッドはすでに2つ3つあるんですけどね。
・サーバ側で「前回」の時間を記録しておいて、一定時間以内に次のリクエストがあれば無視する ・JavaScriptで、送信ボタンをdisabledにしてからsubmitする | ||||||||||||
|
投稿日時: 2004-02-13 12:01
NAL-6295です。
ボタンのonClickイベントに、
と書くと良かったりします。 念のためにいいますが、クライアントサイドスクリプトの話です。 | ||||||||||||
|
投稿日時: 2004-02-13 12:10
質問!!Validatorが配置されているときは? 勝手にonclickに追記されてしまうので、 onclick="if(!IsReadyState()) return false;if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate();" みたいなことになってしまう・・・ | ||||||||||||
|
投稿日時: 2004-02-13 12:27
この手の話の時にいつも思うんですが、更新後の画面で「F5」を押されたときを
考えると、結局サーバ側でチェックするしかないのかなぁって考えています。 (Jittaさんの例でいうと、1つ目の『サーバ側で「前回」の時間を記録しておいて、一定時間以内に次のリクエストがあれば無視する』の類ですね) 以上、蛇足かもしれませんが・・・ | ||||||||||||
|
投稿日時: 2004-02-13 13:07
IsReadyState()の結果がFalseの時のみreturnしているわけで、 trueの時は後ろに流れるから、大丈夫なのではないでしょうか。 #って意図を外していたらすいません。 | ||||||||||||
|
投稿日時: 2004-02-13 13:17
あ、そうか・・・VB.NETに侵されている・・・ #いや、Cの頃から間違いの元ではありますが… | ||||||||||||
|
投稿日時: 2004-06-11 12:36
今更ですが・・・
IsReadyState()で、できるわけが無く・・・。 #そんなの、存在しないし・・。
といった、functionを実装する必要があります。 #んー、当時、寝ぼけてたのかな・・・。自分。 | ||||||||||||
1
