人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ASP(.NETでは無い)を使用したWeb画面開発において、
サブミットボタンの二重押下を避ける策を教えて下さい。

●質問者: litetuna
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:.NET ASP Web ボタン
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● naguro
●23ポイント

JavaScriptで実現するのはいかがですか?

http://www.ahref.org/hinagata/nidoosi.html


2 ● llusall
●23ポイント

私は単純にフラグで制御しています。

参考になれば幸いです。


<FORM action="<%= Request.ServerVariables("SCRIPT_NAME") %>" id=FORM1 method=post name=FORM1 onsubmit="return InputChk();">

<INPUT type="text" name="user" >

・・・

</FORM>

<SCRIPT LANGUAGE="JavaScript">

<!--

var flgDup = false;     // 二重送信防止フラグ

function InputChk(){

    if(flgDup==true){   // 二重送信防止チェック

        return false;   // サブミットされない

    }

    flgDup = true;      // フラグをたてる

    var obj = document.FORM1.user;

    if(obj.value == ""){

        alert("ユーザ名を入力してください。");

        obj.focus();

        obj.select();

        flgDup = false; // フラグをもどす

        return false;   // サブミットされない

    }

    return true; // サブミットされる

}

//-->

</SCRIPT>


3 ● s0u
●22ポイント

http://www.tohoho-web.com/js/form.htm

javascriptでクリック時にボタン無効にすれば良いのでは。

<body>

<form name="F" action="http://www.yahoo.co.jp">

<input name="S" type=submit value="submit"

onClick="document.F.S.disabled = true;

document.F.submit()"

/>

</form>

</body>


4 ● iketerummo
●22ポイント

私もJavaScript(以下JSと略)案に賛成なのですが

JSはクライアント環境依存なので、サーバー側で処理したほうが間違いないと言えばそうかも知れませんね。

?受け渡しパラメータを使う

⇒リロードや再読み込みで2重登録が発生するので×

?セッションにフラグを持たす

Session("fummy_flg")

⇒頻繁な処理ではない、少人数向けサイトであれば現実的です。

?DBに主キーを持たす

重複判定処理をし、2回目は処理を迂回させる。

私のサイトはJS+?で制御をしています。

http://tryasp.winscom.co.jp/faq.asp#60

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ