• 締切済み

連続処理要求の禁止について

ASPかJAVAScriptで質問するか 迷ったのですが、ASPで質問させて頂きます。 以下の流れで処理が走ります。 1.ASPで作成されたHTMLを表示する。 2.表示されたHTMLでSubmitボタンを押下する。 3.OnSubmitでHTMLに入力されたデータをチェックする(JAVAScript) 4.チェックが正常ならSubmitし、自ページをロードする。 5.ASPで入力したデータを取得し、DBに登録する 6.DBに正常登録されたら違うURLに飛ぶ といった流れの中でSubmitボタンを押下後、 再度Submitボタンが押されても無効にしたいのですが、 何か方法をご存知でしたら御教授ください。 できたら、フラグとかを立てずに、 JAVAScriptの処理中やサーバからの応答待ちといった ステータスを取得して制御したいと思っています。 フラグを立てなければ無理といった情報でも知りたいので、 御教授お願いいたします。

みんなの回答

  • kawabata
  • ベストアンサー率67% (21/31)
回答No.2

ご質問の要件として、2 のあと、6 で指定された URL が表示されるまで、1 で表示されたページの Submit ボタンが、押されないようにしたいということであるかと思います。 その場合、ブラウザ上で動作する JavaScript にて、OnSubmit 処理の最初のタイミングにて、Submit ボタンを無効にしてはいかがでしょうか。 例: <script> function cmdSubmit() { frmForm.btnSubmit.disabled = true; if (frmForm.txtAge.value.length == 0) { alert('年齢を入力してください'); frmForm.txtAge.focus(); frmForm.btnSubmit.disabled = false; return false; } alert('OK'); return true; } </script> <form name="frmForm" method="GET" action="test.asp" onsubmit="return(cmdSubmit());" > 年齢: <input type="text" name="txtAge" ><br> <input type="submit" name="btnSubmit" value="SUBMIT" > </form>

piro2
質問者

お礼

ご回答ありがとうございます。 また、返答が遅くなって申し訳ございません。 クライアントで処理中とか サーバからの応答待ちとか イベントを取得できればと考えていたのですが、 無理っぽいですね。 ご教授頂いたソースを参考にさせていただきます。 ありがとうございました。

  • yuizuian
  • ベストアンサー率42% (103/245)
回答No.1

4の段階で、登録する前に何か入力されたデータでレコードセットを取得して、重複するデータが無い事を確かめてみてはどうでしょう? 例えば住所録なら、名前が被っていたら駄目!という処理が出来ますよね? 全てのデータでなくても、キーになりそうなデータでチェックすれば良いと思いますよ。

piro2
質問者

お礼

ご回答ありがとうございます。 また、返答が遅くなって申し訳ございません。 制御用のロジックを組み込むしかないみたいですね。 ありがとうございました。

関連するQ&A

専門家に質問してみよう