- PR -

ASP.NETでのダブルクリック制御

投稿者投稿内容
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-03-19 13:58
Jittaさん、こんにちは。

引用:

かぶった


タイムスタンプ的には私がかぶせてしまったようで...。

引用:

 「IEの場合」と言うことは、他のブラウザでは挙動が異なると言うことでしょうか?


あ、いや、他は未検証なので。明記すべきでしたね。
#「同一のショートカット〜」については他のブラウザでの挙動に興味はありますが。
なな
ベテラン
会議室デビュー日: 2003/09/18
投稿数: 79
投稿日時: 2004-03-19 20:28
NAL-6295さん、Jittaさん、きくちゃんさん返答ありがとうございます。
確かにセッションは通信単位ですね。画面のデータをセッションで持ったりすることも
ありますし・・あほな回答で申し訳ありませんでした。
それで、NAL-6295さんに情報をいただいたスレッドをみて簡単なサンプルで実験してみました。
たぶんコードは泳げないさんと同じものになるかと思います。
でも私の場合はボタンを押下するとエラーになってしまいます。
コードもボタンの名前以外はすべて同じです。

if (window.event.srcElement.id == "Button1")

上記のコードの部分で"オブジェクトがありません"というエラーが出ています。
上記のIDを持つボタンも存在するのに・・。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-03-19 21:11
単純に
Button1.Attributes["onClick"]="this.disabled=true";
は使用不可になるけど、ポストバックしないですね。何故だろう。




[ メッセージ編集済み 編集者: todo 編集日時 2004-03-19 21:30 ]
submit前にsubmitボタンを使用不可にしたらsumbitが効かない。


[ メッセージ編集済み 編集者: todo 編集日時 2004-03-19 21:33 ]
なな
ベテラン
会議室デビュー日: 2003/09/18
投稿数: 79
投稿日時: 2004-03-20 14:33
todoさん返答ありがとうございます。

todoさんの引用----------------------------------------------

submit前にsubmitボタンを使用不可にしたらsumbitが効かない。

-----------------------------------------------------------
本当です。私のほうでも実験しましたが
実行ボタンをsubmitするまえにdisabled=trueするとサーバー処理してくれません。
Submitボタン以外のボタンをdisabled=trueの対象にすればサーバー処理をしてくれるようです。
いろいろ調べてみてSessionなどのやり方も試してみたのですが
ダブルクリックを完全に防げているという感じがしません。
出来ればクライアント側でdisabled=trueをかけてポストバックできれば良いのですが・・。

なな
ベテラン
会議室デビュー日: 2003/09/18
投稿数: 79
投稿日時: 2004-03-20 15:59
出来ました!!
登録ボタンに重点を置くのではなく現在Windowの状況をみて、'complete'かそれ以外かで
判断することで1回目のボタン押下か2回目以降のかを判断することが出来ました。
下記がソースです。わかりやすいようにメッセージも付けました。
皆さん、ありがとうございました。
<SCRIPT language="JavaScript">
<!--

function send_check()
{
if(window.document.readyState != null && window.document.readyState != 'complete'){
alert("前回の処理中です。");
return false;
}else{
var varRet = confirm('登録しますか?');
if(varRet == false){
return false;
}else{
return true;
}

}

}
// -->
</SCRIPT>

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