ASPフォームでsubmitの値を取得する方法

このQ&Aのポイント
  • ASPフォームでsubmitの値を取得する方法を教えてください。
  • フォームに同じ名前の二つのサブミットボタンを作成し、飛んだ先のASPファイルでサブミットボタンの値で処理を分岐したいですが、値を取得する方法がわかりません。
  • また、hiddenのボタンを作成してサブミットの値を移す方法も試しましたがうまくいきませんでした。解決方法を教えてください。
回答を見る
  • ベストアンサー

submitの値取得に

sea_clear_skyです。 [環境] Win98SE PWS フォームに名前が同じ二つのサブミットのボタンを作成します。 そして、飛んだ先のASPのファイルで、サブミットのボタンのV ALUEの値で、IF文で、処理を分岐したいのですが、 Reqest("サブミットボタン名.Value")で 値を取得することができません。 また、hiddenのボタンを作り、サブミットの値を入れて移していますが うまくいきません。 ご教授願います。 [ソース] Response.write"<form action =""ASPファイル"" method=""POST"">" フォームの中身は省略 Response.write"<input type=""submit""value=""更新"" name=""syouhin"">" Response.write"<input type=""submit""value=""次へ"" name=""syouhin"">" Response.write"<input type=""reset""value=""リセット"" name=""syouhin"">" Response.write"<input type=""hidden"" name=""kakushi""value=""&syouhin.value&"">" 飛んだ先のASPファイルのデータ表示 response.write request("shouhin") response.write request("kakushi")

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

ASPでコーディングする際には『サーバ側』『クライアント側』の区別をつけましょう サーバーサイドのコードにクライアント要素のコードを記述しても意味がありませんよ Response.write"<input type=""hidden"" name=""kakushi""value=""&syouhin.value&"">" で期待している『syouhin.value』は押されたSubmitボタンを期待されているようですがこれは無理です なぜかといえば このRespose.Writeが実行される時点ではボタンは押されていません もしこれが前回押されたボタンということなら サブミットされたページでSessionなどに保存しておきます 次にこのページが読み込まれた際に dim syouhin syouhin = Session("syouin") といった具合に『変数syouhin』に復元しておきましょう

sea_clear
質問者

お礼

sea_clear_sky8です。 回答ありがとうございます。 SUBMITが押されていない状態で、データもらおうとしているから だめということですね。 前回押されたボタンからすれば、言い訳ですね。 解決策まで教えていただいてありがとうございます。 理解できました。 忙しいところ、ありがとうございます。

関連するQ&A

  • <FORM> </FORM> の中に さらに <FORM> </FORM>があるときのSUBMITボタンについて

    今、 <FORM ACTION="aaa.asp" METHOD="POST" Name="form1"> <input type="SUBMIT" value="ボタン1"> <FORM ACTION="bbb.asp" METHOD="POST" Name="form2"> <input type="SUBMIT" value="ボタン2"> </FORM> </FORM> としていて、ボタン2を押すとbbb.aspに 飛んでほしいのでに、aaa.aspに飛んでしまいます。 こういう場合どのようにすればよいのでしょうか? それぞれのボタンは hidden の値をそれぞれの フォームの中の値を渡したいので どうしてもSubmitがいいのです。

    • ベストアンサー
    • HTML
  • 押下ボタンによってSubmit先を変えたい・その2

    つい先日、解決ソースを頂きましたuinonaです。 教わったソースを試した所、SubmitボタンにNameを付けているのに、 何も入っていないんです。(押されたボタンを受信側で判別出来ない) SubmitのName属性さえ付ければ複数Submitボタンの判別は可能なはずなのに、 なぜなのでしょうか?なにか設定等あるのでしょうか?またまた困ってしまいました。 ご回答の程よろしくお願いします。 <!-- aaa.asp --> <form action="aaa2.asp" method="post"> <input type="hidden" name="field" value="test"> <input type="submit" name="btnQ" value="Q"> <input type="submit" name="btnZ" value="Z"> </form> <!-- aaa2.asp --> <% If Len(Request.Form("btnQ")) > 0 Then ←※ Server.Transfer "bbb.asp" Else Server.Transfer "ccc.asp" End If %> ※"btnQ"を押下しているのにLen(Request.Form("btnQ"))=0なんです・・

  • 複数のsubmitボタンを使い値を送信する

    <form action="/サーブレットへ" method="post"> <input type ="TEXT" NAME="text1"> <input type ="TEXT" NAME="text2"><br> <textarea name="zzzz" cols="100" rows="10"> </textarea> <input type="hidden" name="a1" value="3"> <input type="submit" name="a1" value="作成"> <input type="hidden" name="a1" value="2"> <input type="submit" name="a1" value="修正"> </form> 複数のsubmitを使用してそれぞれ違う、値又は変数を渡し処理をしたいのですが、わかりません。 分かる方がいましたら教えてください。よろしくお願いします。

    • ベストアンサー
    • Java
  • HIDDENについて

    sea_clear_sky8です。 [環境] Win98SE PWS [質問内容] 次のページ、前のページ、最初のページ、最後のページっていうのを作って ページングさせたいのですが、 下記のように一つ一つにHIDDENNを作ると、全部のボタンが表示されている 場合にボタンをクリックすると下記SQLで、Commandオブジェクトのコマンドが設定されていませんとエラーが表示されます。 [SQL] "select * from test_t " & _ "where name like '%" & Request("nm") & "%' " & _ "order by id " & _ "limit " & Request("page_num")*10 & ",10" [最初のページ] response.write "<input type=""Submit"" value=""最初のページ&gt""onclick=""myClick();"">" response.write "<input type=""HIDDEN"" name=""page_num"" value=""&0&"">" [次のページ] response.write "<input type=""Submit"" value=""次の10件&gt""onclick=""myClick();"">" response.write "<input type=""HIDDEN"" name=""page_num"" value=""" & request("page_num")+1 & """>" [前のページ] response.write "<input type=""Submit"" value=""前の10件&gt""onclick=""myClick();"">" response.write "<input type=""HIDDEN"" name=""page_num"" value=""" & request("page_num")-1& """>" [最後のページ] response.write "<input type=""Submit"" value=""最後のページ&gt""onclick=""myClick();"">" response.write "<input type=""HIDDEN"" name=""page_num"" value=""" &Abs(Int(-1*(AllCnt/10)))& """>" エラーの原因は最初のページと最後のページのVALUEの部分のvalue=""&0&""、 value=""" &Abs(Int(-1*(AllCnt/10)))& """の部分の記入の仕方が おかしいか、各ボタンごとにHIDDENを作成しているため、おかしいのでは ないかと考えています。 HIDDENを一個にする方法はありますか、 いろいろ考えていますが、考えつかない状態です。 また、他に原因があればよろしくお願いします。 すいませんが、ご教授願います。 よろしくお願いします。

  • submitで。。。

    現在、JBuilderを使ってサーブレット+JSPのWEBアプリを作っています。 悩んでいるのは、IEでバックボタンを使って元のページに戻れないようにしたいのですが、 INPUTのTYPEがsubmitの場合、うまくいかないのです。 調べてみると「location.replace()」を使えばよいようなのですが。。。 現在は以下のようにやっています。(TestServletはサーブレット) <input type="submit" action="javascript:location.replace('TestServlet') ~> <input type="text" name="T1"> <input type="submit" name="Submit" value="TEST"> このようにすると、submitボタンを押した場合、リクエストがTestServletのdoPostでなくて、doGetにいってしまうのです。 そうすると「String 値 =request.getParameter("T1");」のようにしてT1の値を取得しようとしても"null"となってしまいます。 なにか他によい方法があるのでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Java
  • chromeでフォームの値が取得できない

    PHPでフォームに入力された値を取得して画面に表示させる処理において、 Javascriptでフォームの値を変更した場合、chromeだと変更後の値が 取得できません。 例えば、 <form name="form" method="post" action="index.php"> <input type="checkbox" name="chk1" value="111"> <input type="hidden" name="data1" value="AAA"> <input type="submit" value="送信"> </form> というようなフォームがあったとして、Javascriptで値を <form name="form" method="post" action="index.php"> <input type="checkbox" name="chk1" value="222"> <input type="hidden" name="data1" value="BBB"> <input type="submit" value="送信"> </form> と、変更しても送信ボタンを押して取得できる値は、上の方の値になります。 IEやFireFoxでは問題なく変更後の値が取得できるのですが、chromeだと 取得できません。 なにか解決方法があるのか、それともchromeの仕様なのかご教示いただければと 思います。 どうかよろしくお願いいたします。

  • チェックボックスの値を、ページまたぎさせる

    質問内容が伝わりにくかったら申し訳ありません。 現在、aspを使い、以下のようなプログラムを組もうとしています。 [ファイル] 1.asp 1-1.asp 2.asp [仕様] ○1.aspにある「A」ボタンを押すと、1-1.aspが別窓で開く。 ○1-1.aspにはチェックボックスが30個、「確定」ボタン、「戻る」ボタンがある。「確定」ボタンを押すと、チェックボックスの値を保持し、1-1.aspを閉じる。「戻る」ボタンを押すと、チェックボックスの値を保持せず、1-1.aspを閉じる。 ○1.aspにある「B」ボタンを押すと、2.aspが開く。 ○2.aspにおいて、1-1.aspでチェックされた値を利用する。 つまり、1-1.aspでチェックした値を、2.aspで利用したいのです。 私が考えたプログラムは、以下のとおりです。 しかし、このプログラムだと、(1)の行でエラーが起きてしまうようです。 [1-1.asp] <form method=post action="2.asp"> <input type=checkbox name="chk" value="1"> <input type=checkbox name="chk" value="2"> <input type=checkbox name="chk" value="3"> ・ ・ <input type=checkbox name="chk" value="30"> </form> [2.asp] <% SCRIPT LANGUAGE = JAVASCRIPT %> <% Dim a,a_split,b a=Request.Form("chk") ・・・(1) a_split=split(a,",") for each b in a_split Response.Write(b) next %> <input type=hidden>で送る方法等も検索してみましたが、やはり「次のページへチェックボックスの値を送る」方法はあるのですが、「ページをまたぐ」ような処理が分かりません。 どなたか、[仕様]を達成できるようなプログラムのご教授をお願いいたします。

  • 新しい窓にsubmitする方法

    ページAよりページBを開き、Aにhiddenで埋めてある値をBで読み込もうとしています。 AページからhtmlでBページを開く場合は、 <FORM ACTION="B.asp" NAME="check" METHOD="post" target="_blank"> <INPUT TYPE="hidden" NAME="code" VALUE="6000" > <INPUT TYPE="submit" VALUE="次のページへ"> とし、 BページでRequest.Form("code")して行いました。 次にページBをサイズ指定で開きたいために上記のsubmitをbuttonに変更し、Javascriptよりsubmitしようとしたのですが上手く行きません。 どなたかアドバイスや参考になるページをご存知の方がいらっしゃいましたら、宜しくお願い致します。

  • 複数のsubmitボタンで押されたボタンを取得する方法

    form内の、submitボタンの値が拾えません。 1つだけsubmitボタンを設置すると値が拾えますが、 2つ以上submitボタンを設置すると拾えません。 仕様上、無理なのでしょうか? <SCRIPT language="JavaScript"> function move_post(){ alert(document.frmMvPost.btn.value); } </SCRIPT> <FORM name="frmMvPost" action="" method="post" onsubmit="return move_post()"> <INPUT type="submit" name="btn" value="テスト1"> <INPUT type="submit" name="btn" value="テスト2"> <INPUT type="submit" name="btn" value="テスト3"> </form>

  • submitボタンにvalue属性の値でないラベルを表示したい

    submitボタンを複数設置し,全てのラベルに「これを修正する」と表示したいのですが, 下記のように押下されたsubmitボタン別に,POSTする値をそれぞれ1,2,3と分けたいです. (page.phpは,$_POST["PageNumber"]として1か2か3を受け取る) ですが,value属性の値がボタンのラベルとしてボタン表面に記されてしまい,困っています. 何とかならないでしょうか? <form method="post" action="page.php"> <input type="submit" name="PageNumber" value="1"></td></tr> <input type="submit" name="PageNumber" value="2"></td></tr> <input type="submit" name="PageNumber" value="3"></td></tr> </form>

    • ベストアンサー
    • HTML

専門家に質問してみよう