- PR -

二重送信対応

1
投稿者投稿内容
あと一歩
常連さん
会議室デビュー日: 2007/09/23
投稿数: 49
投稿日時: 2007-10-07 21:06
OS:windows
フレームワーク:struts1.2

トランザクショントークンの機能は使わずに
二重送信対応を考えいます

<input value="ログイン" type="submit" onclick="this.disabled = true;">
この書き方ですと、ボタンは非活性になるのですが
次画面に飛んでくれません

よろしくお願いします
朝日奈ありす
大ベテラン
会議室デビュー日: 2007/05/02
投稿数: 189
お住まい・勤務地: 最北の地
投稿日時: 2007-10-07 21:47
正常動作するときに下記記述方法ですと。
JavaScript OFF のときに二重送信が可能ですが、考えていますか?

<input value="ログイン" type="submit" onclick="this.disabled = true;">

その質問内容ではだれも理解はできません

Anthyhime
ぬし
会議室デビュー日: 2002/09/10
投稿数: 437
投稿日時: 2007-10-08 18:15
<form>のonsubmitで同様のコードをやってはどうでしょうか。
あと一歩
常連さん
会議室デビュー日: 2007/09/23
投稿数: 49
投稿日時: 2007-10-08 20:08
ありすさん、Anthyhimeさん
ご回答ありがとうございます

イントラネットの世界で使うものですので
java-scriptは必須の条件にして
onsubmitで対応いたします

ありがとうございました
ふーばー
大ベテラン
会議室デビュー日: 2003/06/05
投稿数: 163
投稿日時: 2007-10-10 18:33
遷移後のページでリロードした場合は二重送信になりますが、どうしますか?
トークンを使わないとある程度しか予防できないことはわかっているんですよね?
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2007-10-11 23:34
ほかにも、このようなクライアントサイドだけでやるやりかただと、もしネットワークの調子が悪かったりして一度 submit が失敗してしまうと、もう送信ボタンが押せなくなってしまいますので、復旧できなくなってしまうという問題があります。
送信ボタン以外にもなんらかの戻れるボタンも設けておかないと、ユーザーに不親切なアプリケーションになってしまいます。

--
unibon {B73D0144-CD2A-11DA-8E06-0050DA15BC86}
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-10-12 01:39
実はStrutsのトークンの仕組み自体も、
クラスタ環境では無力なので、過信はよくないです。
なので、
・誤操作でも連続で送信しにくい
・連続で送信されてもデータモデル上問題にならない
という仕組みでカバーするのが丁度いいなと最近思うようになりました。
ユーザが誤操作で連続送信してしまうのは、PRGパターンである程度防げますし、
同一キーで2度データが送られてきたら、1回目はインサート2回目はアップデートするとか。
この辺は絶対解がないので、議論になりやすいですね。
1

スキルアップ/キャリアアップ(JOB@IT)