• 締切済み

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

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

  • piro2
  • お礼率50% (8/16)

みんなの回答

  • 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

  • ページにJavaScriptを埋め込むには?

    いつもお世話になっております。 ASP.NETでWebを作っております。 ボタン押下時に確認メッセージを出したく思っております。 まず考えたのが.aspxのボタンの場所にOnClientClickに記述したのですが.csのボタン押下処理(DB更新)より.aspxのボタン押下処理の方が早く出てしまいました。 次に.csにJavaScriptを埋め込むことにしました 参照:http://www.atmarkit.co.jp/fdotnet/dotnettips/160regscript/regscript.html がしかしRegisterClientScriptBlockなどは古い形式です。警告が出てしまいます。 引数がよくないみたいなんですがどなたかわかる方ご教授お願いいたします。

  • ボタンで関数の処理を行う

    普通、HTMLで使用できるボタンはSUBMITなどですが、 SUBMITでASPで作った関数を呼び出したいのです。 その場合、どのようにすればいいでしょうか。

  • htmlのformのpost submit で送られたデータの寿命は?

    どうもこんばんは。 よろしくお願いします。 formのデータをpostでsubmitした場合、 Request.Formしてデータを取得できる のはどのくらいまででしょうか? 下記の例の場合、(2)のb.aspでボタン押下した 時に、Request.Formでa.htmlのformの値を 取得することは可能なのでしょうか? 例 (1)a.htmlからformでb.aspへ遷移した。 (2)b.aspでもformがあり、  ボタン押下するとb.asp内の  処理が走り、結果を表示する。

  • フレーム間の処理2

    こんにちは! 下でも質問させて頂いたのですが、具体的に行いたい処理を 書かせて頂きます。 今、c.aspがあり、その中身はADOでデータベースを取り込んで処理を したデータ一覧が20行表示されています。それを「前へ」「次へ」 のsubmitボタンで前の20行、次の20行と表示を更新出来るように なっています。 ここで、a.asp、b.aspを作成して、a.aspをフレームで2分割にします。 a.aspの上段フレームにb.asp、下段フレームにc.aspを配置します。 c.aspの中の「前へ」「次へ」のsubmitボタンを上段フレーム に移行します。 で、上段フレームの「前へ」「次へ」のsubmitボタンを押せば 下段フレームの20行が変更するようにしたいのです。 このフレーム間の処理はどのようなプログラムを組めば出来るのでしょうか? ご存知の方、是非ご教授下さい。

  • <INPUT TYPE="file">の参照ボタンをJavascriptで操作するとエラーが・・・

    aspとBaspを使用してファイルアップロードを行う処理を作っています。 その中で、<INPUT TYPE="file">の参照ボタンをJavascriptで押下するような動きを作成したのですが、Submitを行うと「アクセス権がありません」というJavascriptのエラーが発生してしまいます。 通常の参照ボタンを利用する分には問題なくファイルをアップロードできています。 どなたか詳しい方、どう処理すればいいのか教えてください。

  • JavaScript → Bean(DB接続)

    JSPを使用して、テキストフィールドに記述、ボタンを押下するとDBに登録されるというのを作りたいと思っています。 最初は、ボタンの押下(JavaScript)→クラスの呼び出し(JSP)→Beanとやろうと思っていたんですが、JSPはサーバー側の処理なのでできませんとのことで、JavaScript→Beanを考えています。 ・・・が!!JavaScriptでJavaは使用できるのでしょうか? 検索をしたんですが、アプレットの関数を呼び出すことができるという事以外分かりませんでした。 では回答よろしくお願いします<(_ _)>

  • フレーム間の処理

    こんにちは! このような処理をするにはどのようなプログラムを組めばよろしいのでしょうか? ☆A.aspをフレームを用いて2分割にします。  それぞれ、b.asp、c.aspを割り当てます。  b.aspとc.aspはそれぞれBbutton、Cbutton  のsubmitボタンがあるとします。    ここで問題ですが、Bbuttonを押した時にCbutton  を押すという処理を行いたいのですが可能でしょうか?  さらに、Cbuttonを見えない状態にして、Bbuttonを  押した時に見えないCbuttonを押した処理というのは  可能ですか?  要はBフレームからCフレームのsubmit処理が行いたいのです。  よろしくお願いします。

  • 更新処理に関して

    教えて下さい。 データベースを更新するだけのPHPファイル(update.php)を作成し、それを別(親)のPHPから javascriptを使って呼び出し、更新処理をさせようと考えています。 その際に、javascriptでsubmitで引数を渡していますが、どうしてもupdate.phpのファイルが開いて しまい、更新ボタンを押下時に裏で更新処理をさせるというような事ができないのでしょうか。。。 update.phpを関数化してしまった方が良いという話もありましたが、なんとか別ファイルで更新処理 を行いたいと考えています。 初歩的な質問で申し訳ありませんが、教えて下さい。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • エラー表示をするには

    echo "<form action=$PHP_SELF method=POST>\n"; echo "<input type=hidden name=action value=regist>\n"; echo "<input type=submit value=登録>\n"; 登録ボタンを押すとリロード(?)されるのですが、 その前に入力された値のチェックを行いたいです。 チェックの部分はつくれたのですが、 登録ボタン押下 ↓ チェック ↓ OK      NG ↓       ↓ リロード    警告ダイアログ表示(javascriptのアラートのイメージ) このような流れのコードを作成できません。(知識不足・経験不足のため) どんな感じになるのでしょうか? また、サンプルなどはあるとありがたいのですが。

    • 締切済み
    • PHP
  • ASP.NETで子画面の処理でわからなく悩んでいます。

    ASP.NETで子画面の処理でわからなく悩んでいます。 ?親画面Aでボタンを押下すると、子画面Bが表示されます。 ?子画面Bが存在しないときは、子画面Bを表示をさせて存在するときは、  子画面Bの内容をリロードをしたいと思っています。  データの受け渡しは、 Sessionでしたいと思っています。 ?ボタン押下時の処理は下記に記載しました ⇒とりあえず画面表示がされます。 ?子画面が存在するときのチェックと子画面のリロードの方法を教えてください。 よろしくお願いいたします。  ASPか javascriptか迷ったのですが ASPであげさせて頂きます。 ' Dim scriptStr As String ' scriptStr = "<script type='text/javascript'>" ' scriptStr += "window.open('webMesai.aspx','_blank');" ' scriptStr += "</script>" ' ' ClientScript.RegisterStartupScript(Me.GetType(), "詳細画面", scriptStr)