出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
![]() ![]() ![]() ![]() ![]() |
![]() ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
[5379] ラジオボタンの情報を渡すには |
投稿者:まさみさん 2005/10/24 15:55:28 |
こんにちは。 ASPのラジオボタンについて質問させていただきます。 ASPでテーブル、ラジオボタンを作成しました。 テーブル内でリンクをはりそのリンクが押されたらあたらしいウインドウを開くように設定したのですが ラジオボタンの情報が引き継がれない為に困っています。 "<INPUT type=""radio"" name=""w_button"" value=""1"" >分類" "<INPUT type=""radio"" name=""w_button"" value=""2"" >ミス" 上記のように設定してあるのですがただ選択しただけではリンクに情報がいきません。 どなたかご伝授お願いします。 |
[5380] Re:ラジオボタンの情報を渡すには |
投稿者:Lightningさん 2005/10/24 16:02:29 |
> こんにちは。 > > ASPのラジオボタンについて質問させていただきます。 > > ASPでテーブル、ラジオボタンを作成しました。 > テーブル内でリンクをはりそのリンクが押されたらあたらしいウインドウを開くように設定したのですが > ラジオボタンの情報が引き継がれない為に困っています。 > > "<INPUT type=""radio"" name=""w_button"" value=""1"" >分類" > "<INPUT type=""radio"" name=""w_button"" value=""2"" >ミス" > > 上記のように設定してあるのですがただ選択しただけではリンクに情報がいきません。 > > どなたかご伝授お願いします。 前のエントリにも書きましたが・・・ 基本的に使用する言語をASPだとするとsubmitした後にRequest系で確保してcheckedだかでチェックを入れていくという感じになります。 基本言語をJavaScriptとすると、新たなウィンドウからみてもとのウィンドウの項目を拾うには opener.formname.w_button.value で拾えたような気がします。(むりかも、forでまわしてw_button[i].checkedをみていかないとダメな気もする。) とりあえず、前提条件(使用可能言語とか)を提示した方がいいかも。 個人的にはASPのみでやっちゃったほうが美しいとおもいますけどね、この案件ならば。 #<a>でformのsubmitをする方法は<a>のonclickでdocument.formname.submit();を呼べばいいです |
[5381] Re:ラジオボタンの情報を渡すには |
投稿者:まさみさん 2005/10/24 16:11:15 |
回答ありがとうございます。 ><a>でformのsubmitをする方法は<a>のonclickでdocument.formname.submit();を呼べばいいです が一番わかりやすいような気がします。 今はJavaScriptのサイトでサンプルを拾ってきて行っていますが オブジェクトエラーが出てしまって・・・。 開発はVB6.0で作業を行ってテキストに貼り付けるだけって感じです。 ボタンなどを使用しないのでリンクだけで値が渡るかが心配です・・・ |
[5382] Re:ラジオボタンの情報を渡すには |
投稿者:Lightningさん 2005/10/24 16:22:03 |
> 回答ありがとうございます。 > > ><a>でformのsubmitをする方法は<a>のonclickでdocument.formname.submit();を呼べばいいです > > が一番わかりやすいような気がします。 > 今はJavaScriptのサイトでサンプルを拾ってきて行っていますが > オブジェクトエラーが出てしまって・・・。 > > 開発はVB6.0で作業を行ってテキストに貼り付けるだけって感じです。 > ボタンなどを使用しないのでリンクだけで値が渡るかが心配です・・・ > ふみゅ。 <form name="F1" action="./hogehoge.asp" target="_blank" method="POST"> <input type=(略 </form> <a href="void(0);" onclick="document.F1.submit();">Link</a> って感じでテストしてみてください。 nameなんかは適宜変更で |
[5383] Re:ラジオボタンの情報を渡すには |
投稿者:まさみさん 2005/10/24 16:47:44 |
ラジオボタンの情報を渡すことはできました。 ここで リンクの処理 "<A href=""http://xxx.index?CD='" & CStr(G_oraDynaset.Fields("CD")) & "'"" onclick=""document.F1.submit();"" target=""_Blank"">" "<form name=""F1"" action=""http://xxx.index_0"" target=""_blank"" method=""POST"">" ラジオボタンの処理 2つ設定している為2つのウインドウが開きます。 これってどっちかを省くことってできるのですか? |
[5385] Re:ラジオボタンの情報を渡すには |
投稿者:Lightningさん 2005/10/24 17:21:14 |
> 2つ設定している為2つのウインドウが開きます。 > これってどっちかを省くことってできるのですか? Aの方のhrefをvoid(0)とか#とかにしてください。 これの意味はJavaScript系の例文をあさればわかると思いますが、なんもしないってことです。 formのactionは削ると意味が変わる(inputの内容が送信されない)ので却下です。 |
[5386] Re:ラジオボタンの情報を渡すには |
投稿者:まさみさん 2005/10/24 17:26:45 |
発言者により削除されました!! |
[5387] Re:ラジオボタンの情報を渡すには |
投稿者:まさみさん 2005/10/24 17:28:00 |
> > 2つ設定している為2つのウインドウが開きます。 > > これってどっちかを省くことってできるのですか? > Aの方のhrefをvoid(0)とか#とかにしてください。 > これの意味はJavaScript系の例文をあさればわかると思いますが、なんもしないってことです。 > formのactionは削ると意味が変わる(inputの内容が送信されない)ので却下です。 出来たのですが元の画面がエラーとなってページがみつかりませんと出てしまいます・・・。 |
[5388] Re:ラジオボタンの情報を渡すには |
投稿者:Lightningさん 2005/10/24 17:42:48 |
> 出来たのですが元の画面がエラーとなってページがみつかりませんと出てしまいます・・・。 voidはなるね、orz href="#"でもなりますか? |
[5391] Re:ラジオボタンの情報を渡すには |
投稿者:まさみさん 2005/10/25 8:16:57 |
発言者により削除されました!! |
[5392] Re:ラジオボタンの情報を渡すには |
投稿者:まさみさん 2005/10/25 10:24:53 |
> > 出来たのですが元の画面がエラーとなってページがみつかりませんと出てしまいます・・・。 > voidはなるね、orz > href="#"でもなりますか? #を入れることで問題解決できました。 hiddenを使ってDBから取得したデータを渡したいのですが FORMの中でHiddenを用いれば渡すことが可能なんですよね?! しかしコメントとなってしまって駄目みたいです・・・ |
[5393] Re:ラジオボタンの情報を渡すには |
投稿者:Lightningさん 2005/10/25 10:29:45 |
> > > 出来たのですが元の画面がエラーとなってページがみつかりませんと出てしまいます・・・。 > > voidはなるね、orz > > href="#"でもなりますか? > > #を入れることで問題解決できました。 > > hiddenを使ってDBから取得したデータを渡したいのですが > FORMの中でHiddenを用いれば渡すことが可能なんですよね?! > > しかしコメントとなってしまって駄目みたいです・・・ 基本的にHiddenなTypeを増やせばいくらでも送れます(データ量には注意ですが) コメントになる、ということはおそらくコーテーションなんかの使い方でこけてませんか? ASPでHTMLを生成する場合、”と’の関係は微妙になるのでしっかり把握していってください。 特にASPでJSを含むHTMLを生成する場合は混乱しやすいので生成後のHTMLソースをしっかり確認してみてください。 コメントになってしまう部分を赤丸要チェックです【死語 |
[5395] Re:ラジオボタンの情報を渡すには |
投稿者:まさみさん 2005/10/25 10:34:59 |
> > > > 出来たのですが元の画面がエラーとなってページがみつかりませんと出てしまいます・・・。 > > > voidはなるね、orz > > > href="#"でもなりますか? > > > > #を入れることで問題解決できました。 > > > > hiddenを使ってDBから取得したデータを渡したいのですが > > FORMの中でHiddenを用いれば渡すことが可能なんですよね?! > > > > しかしコメントとなってしまって駄目みたいです・・・ > 基本的にHiddenなTypeを増やせばいくらでも送れます(データ量には注意ですが) > コメントになる、ということはおそらくコーテーションなんかの使い方でこけてませんか? > ASPでHTMLを生成する場合、”と’の関係は微妙になるのでしっかり把握していってください。 > 特にASPでJSを含むHTMLを生成する場合は混乱しやすいので生成後のHTMLソースをしっかり確認してみてください。 > > コメントになってしまう部分を赤丸要チェックです【死語 頭がこんがらがっていましたが何とかHiddenを用いて値を渡すことができました。 いろいろと助言していただきありがとうございます☆ |
[5396] Re:ラジオボタンの情報を渡すには |
投稿者:まさみさん 2005/10/25 10:41:18 |
なんとか問題解決と思いきや・・・ 駄目っぽいです。 値をHiddenで渡しているのですがリンクがはってあるところのデータのみうまく渡せません・・・。 どぉーしてなんでしょうか・・・。 2番目3番目をクリックしても1番上のデータを渡してしまっています・・・ StrDispMsg = StrDispMsg & "<A href=""#"" onclick=""document.F1.submit();"" >" StrDispMsg = StrDispMsg & CStr(G_oraDynaset.Fields("CD")) & ":" & CStr(G_oraDynaset.Fields("ITEM")) StrDispMsg = StrDispMsg & "<INPUT type=""hidden"" name=""CD"" value= '" & CStr(G_oraDynaset.Fields("CD")) & ":" & CStr(G_oraDynaset.Fields("ITEM")) & "' >" StrDispMsg = StrDispMsg & "</A>" |
[5397] Re:ラジオボタンの情報を渡すには |
投稿者:Lightningさん 2005/10/25 10:56:03 |
> なんとか問題解決と思いきや・・・ > 駄目っぽいです。 > > 値をHiddenで渡しているのですがリンクがはってあるところのデータのみうまく渡せません・・・。 > どぉーしてなんでしょうか・・・。 > 2番目3番目をクリックしても1番上のデータを渡してしまっています・・・ > > > StrDispMsg = StrDispMsg & "<A href=""#"" onclick=""document.F1.submit();"" >" > StrDispMsg = StrDispMsg & CStr(G_oraDynaset.Fields("CD")) & ":" & CStr(G_oraDynaset.Fields("ITEM")) > StrDispMsg = StrDispMsg & "<INPUT type=""hidden"" name=""CD"" value= '" & CStr(G_oraDynaset.Fields("CD")) & ":" & CStr(G_oraDynaset.Fields("ITEM")) & "' >" > StrDispMsg = StrDispMsg & "</A>" > にゃるほろ。 理解完了。 えっと、解決方法は二つ。 動的にhiddenを書き換えるか、静的にformを増やすか、です。 動的にhiddenを書き換える場合は document.formname.submit();の前に document.formname.hiddenname.value="値"; を入れる。 JS的にスマートにしたければ関数化とかしてみてください。 静的にformを増やすには 普通に1番の内容の場合はdocument.F1.submitであれば 2番に<form name="F2" action=〜略 って感じでAのリンクの数だけ増やしていけばいい感じです。 この辺は吐き出したHTMLをみたほうがいいですよ。ASPの問題じゃないですから。 |
[5398] Re:ラジオボタンの情報を渡すには |
投稿者:まさみさん 2005/10/25 11:15:39 |
StrDispMsg = StrDispMsg & "<A href=""#"" document.CD.hiddenname.value='" & CStr(G_oraDynaset.Fields("CD")) & "'; onclick=""document.F1.submit();"" >" 動的で行ってみようとおもいSubmitの前に記述したのですが・・・。 HTML側では値はひきついでいないみたいです・・・。 うぅ〜ん・・・。むずかしぃ。 |
[5399] Re:ラジオボタンの情報を渡すには |
投稿者:Lightningさん 2005/10/25 14:35:53 |
> StrDispMsg = StrDispMsg & "<A href=""#"" document.CD.hiddenname.value='" & CStr(G_oraDynaset.Fields("CD")) & "'; onclick=""document.F1.submit();"" >" > > 動的で行ってみようとおもいSubmitの前に記述したのですが・・・。 > HTML側では値はひきついでいないみたいです・・・。 > > うぅ〜ん・・・。むずかしぃ。 > 渡す値は一個だけですか? 複数ある場合はちょっといじってください、っていうか、仕組みの素組みなので適当に直して使ってくださいサンプル。↓ <head>内部 <script type="text/JavaScript"><!-- function formSubmit(aDBValue){ document.f1.h1.value=aDBValue; document.f1.submit(); } //--></script> <body>の内部 <form name="f1" action="./hogehoge.asp" method="post"> <input type="hidden" name="h1" value=""> </form> <a>の部分 <a href="#" onclick="formSubmit('DBからのデータ1');">データ1</a> <a href="#" onclick="formSubmit('DBからのデータ2');">データ22</a> こんな感じでどうでしょう? とりあえず、次書くときは >StrDispMsg = StrDispMsg & "<A href=""#"" document.CD.hiddenname.value='" & CStr(G_oraDynaset.Fields("CD")) & "'; onclick=""document.F1.submit();"" >" の部分をASPソースではなく、HTMLのソースを提示してみてください。 ASPで実行が途中で止まるとかなら適当にresponse.flushを使用してみてください。その部分までを取り合えず表示するし。 って、document.cd.hiddenname.valueはonclickの中に書かないとダメよ。 あとhiddennameは<input type="hidden" のname要素だよ? |
[5400] Re:ラジオボタンの情報を渡すには |
投稿者:まさみさん 2005/10/25 15:49:51 |
やってみましたがどうもエラーになるようです。 サンプルを使用しないときはHTML側には行くのですが値がわたってません。 一度全ソースを提示してもよろしいでしょうか? |
[5401] Re:ラジオボタンの情報を渡すには |
投稿者:Lightningさん 2005/10/25 15:54:47 |
> 一度全ソースを提示してもよろしいでしょうか? > それしかないかも。 |
[5402] Re:ラジオボタンの情報を渡すには |
投稿者:まさみさん 2005/10/25 15:58:34 |
<!-- #INCLUDE FILE="common.asp" --> <HTML> <HEAD> <META Http-Equiv="Content-Type" Content="text/html;charset=Shift_JIS"> <TITLE>■表示■</TITLE> <link rel="stylesheet" type="text/css" href="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"> <script type="text/JavaScript"><!-- function formSubmit(aDBValue){ document.f1.h1.value=aDBValue; document.f1.submit(); } //--></script> </HEAD> <BODY> <% '--On Error Resume Next '-- データ取得 --------------------------------------------------------------------------------------------- '// HTMLから取得方法 Dim NAME Dim CD Dim KATE Dim DAYF Dim DAYE Dim l_SUM NAME = Request.Form("w_NAME") CD = Request.Form("w_CD") KATE = Request.Form("w_KATE") DAYF = Request.Form("w_dayf") DAYE = Request.Form("w_daye") '------------------------------------------------------------------------------------------------------------ '-- 初期値設定----------------------------------------------------------------------------------------------- StrDispMsg = "" '// メッセージの初期化 l_SUM = 0 '//合計のデフォルトを0に l_count = 2 '//合計のデフォルトを0に '------------------------------------------------------------------------------------------------------------ Response.Write "<form name=""F1"" action=""http://www.index_0"" target=""_blank"" method=""POST"">" If G_blnErrFlg = False Then StrDispMsg = StrDispMsg & "<table border=1 cellspacing=1 cellpadding=5 Width=""300"">" Response.Write StrDispMsg Do While Not G_oraDynaset.EOF StrDispMsg = "" StrDispMsg = StrDispMsg & "<tr>" StrDispMsg = StrDispMsg & "<td width=""100"" bgcolor=""ffcc33"">" StrDispMsg = StrDispMsg & "<A href=""#"" onclick=""document.F1.submit();"" >" StrDispMsg = StrDispMsg & "<INPUT type=""hidden"" name=""w_CD"" value= '" & CStr(G_oraDynaset.Fields("CD")) & "' >" StrDispMsg = StrDispMsg & CStr(G_oraDynaset.Fields("CD")) & ":" & CStr(G_oraDynaset.Fields("ITEM")) StrDispMsg = StrDispMsg & "<INPUT type=""hidden"" name=""w_NAME"" value= '" & NAME & "' >" StrDispMsg = StrDispMsg & "<INPUT type=""hidden"" name=""w_CD"" value= '" & CD & "' >" StrDispMsg = StrDispMsg & "<INPUT type=""hidden"" name=""w_KATE"" value= '" & KATE & "' >" StrDispMsg = StrDispMsg & "<INPUT type=""hidden"" name=""w_DAYE"" value= '" & DAYE & "' >" StrDispMsg = StrDispMsg & "<INPUT type=""hidden"" name=""w_DAYF"" value= '" & DAYF & "' >" StrDispMsg = StrDispMsg & "</A>" StrDispMsg = StrDispMsg & "</td>" StrDispMsg = StrDispMsg & "<td align=""right"">" StrDispMsg = StrDispMsg & CStr(G_oraDynaset.Fields("GOUKEI")) l_SUM = l_SUM + CStr(G_oraDynaset.Fields("GOUKEI")) StrDispMsg = StrDispMsg & "</td>" StrDispMsg = StrDispMsg & "<td align=""right"">" StrDispMsg = StrDispMsg & l_SUM StrDispMsg = StrDispMsg & "</td>" StrDispMsg = StrDispMsg & "</tr>" Response.Write StrDispMsg G_oraDynaset.MoveNext Loop StrDispMsg = StrDispMsg & "</table>" Set G_oraDynaset = Nothing End If Response.Write "</form>" %> </BODY> </HTML> Oracleに接続してSQLをまわしています。 |
[5403] Re:ラジオボタンの情報を渡すには |
投稿者:はやしさん 2005/10/25 16:20:51 |
こんにちは。 <a>タグの中に <input> を入れ子にすることはできません。 <input> を <a>タグの外に置いてください。 |
[5404] Re:ラジオボタンの情報を渡すには |
投稿者:Lightningさん 2005/10/25 16:57:10 |
わかりましたorz えっといろいろダメジャンて感じです。 えっと、 <head>内部 <script type="text/JavaScript"><!-- function formSubmit(aName,aCD,aKATE,aDAYE,aDAYF){ document.f1.w_NAME.value=aName; document.f1.w_CD.value=aCD; document.f1.w_KATE.value=aKATE; document.f1.w_DAYE.value=aDAYE; document.f1.w_DAYF.value=aDAYF; document.f1.submit(); } //--></script> ループに入れる意味が無いので<Body>直後に<form>を配置 <form name="f1" action="http://www.index.0" method="POST" target="_blank"> <input type="hidden" name="w_NAME" value=""> <input type="hidden" name="w_CD" value=""> <input type="hidden" name="w_KATE" value=""> <input type="hidden" name="w_DAYE" value=""> <input type="hidden" name="w_DAYF" value=""> </form> <a>の部分 StrDispMsg = StrDispMsg & "<a href=""#"" onclick=""formSubmit('" & NAME & "','" & CD & "','" & KATE & "','" & DAYE & "','" & DAYF"');"">" & vbcrlf StrDispMsg = StrDispMsg & CStr(G_oraDynaset.Fields("CD")) & ":" & CStr(G_oraDynaset.Fields("ITEM")) & vbcrlf StrDispMsg = StrDispMsg & "</a>" & vbcrlf って感じ あくまで感じだけども、大体感じはつかめると思います。 逆に静的にするには i = i + 1 StrDispMsg = StrDispMsg & "<form name=""F" & i & """ action=""http://www.index_0"" target=""_blank"" method=""POST"">" StrDispMsg = StrDispMsg & "<INPUT type=""hidden"" name=""w_NAME"" value= '" & NAME & "' >" StrDispMsg = StrDispMsg & "<INPUT type=""hidden"" name=""w_CD"" value= '" & CD & "' >" StrDispMsg = StrDispMsg & "<INPUT type=""hidden"" name=""w_KATE"" value= '" & KATE & "' >" StrDispMsg = StrDispMsg & "<INPUT type=""hidden"" name=""w_DAYE"" value= '" & DAYE & "' >" StrDispMsg = StrDispMsg & "<INPUT type=""hidden"" name=""w_DAYF"" value= '" & DAYF & "' >" StrDispMsg = StrDispMsg & "</form>" StrDispMsg = StrDispMsg & "<A href=""#"" onclick=""document.F" & i & ".submit();"" >" StrDispMsg = StrDispMsg & CStr(G_oraDynaset.Fields("CD")) & ":" & CStr(G_oraDynaset.Fields("ITEM")) StrDispMsg = StrDispMsg & "</A>" って感じにする。 |
[5405] Re:ラジオボタンの情報を渡すには |
投稿者:まさみさん 2005/10/25 17:10:36 |
できました。 ちゃんと値が渡ったようです。 ラジオボタンの情報がLOOPを抜けた後にあるのですが これが問題になってしまいました・・・。 あとはこの値が渡れば完璧なのですが・・・。 LOOPの後だし無理っぽそうですか?? StrDispMsg = StrDispMsg & "<table border=0 cellspacing=0 cellpadding=5 Width=""300"">" StrDispMsg = StrDispMsg & "<td>" StrDispMsg = StrDispMsg & "<INPUT type=""radio"" name=""w_button"" value=""1"" >原因" StrDispMsg = StrDispMsg & "</td>" StrDispMsg = StrDispMsg & "<td>" StrDispMsg = StrDispMsg & "<INPUT type=""radio"" name=""w_button"" value=""2"" >ミス" StrDispMsg = StrDispMsg & "</td>" StrDispMsg = StrDispMsg & "</tr>" Response.Write StrDispMsg StrDispMsg = StrDispMsg & "</table>" |
[5406] Re:ラジオボタンの情報を渡すには |
投稿者:はやしさん 2005/10/25 17:28:33 |
こんにちは。 > ラジオボタンの情報がLOOPを抜けた後にあるのですが > これが問題になってしまいました・・・。 > あとはこの値が渡れば完璧なのですが・・・。 いままでの応用でできるのでは? たとえば、他の項目と同じように hidden項目を作り、JavaScriptで radioで選択されている値をぶち込んでみるとか。 |
[5407] Re:ラジオボタンの情報を渡すには |
投稿者:まさみさん 2005/10/25 17:38:30 |
新たにJavaScriptを設けて問題解決です。 みなさんありがとうございました。 |
TreeBBS For ASP V.0.1.3 |