• 締切済み

プルダウンで選択すると、DBの値を取得したい

いつもお世話になっております。 プログラム初心者ですが、どうしても方法がわからないので質問させていただきます。 サーバー側 ASP(VBS) クライアント側 html javascriptで作成しているのですが、 プルダウンを選択すると、そのテーブルの列にある値をテキストボックスにいれたいと思っています。 例えば、以下のようなテーブルがあって、 法人コード | 会社コード | 法人名 ------------------------------    1    |   aa    | トヨタ ------------------------------    2    |   bb    | ニッサン ------------------------------    3    |   cc    | ホンダ データベースから読み込んで、法人コードをプルダウンにセットします。 プルダウンが選択されると、その列の会社コードと法人名をテキストエリアに出力したいと思います。 ※例 法人コード「1」をプルダウンで選択すると、「aa」と「トヨタ」がテキストエリアに表示される。 連動プルダウンで、直接option value部分に書けばできそうですが、 データの量が膨大な為、直接コードに書くのは難しそうです。 form action で、1度別のベージに飛ばして、 そこで、SQL文にて、法人コードを条件にして出力しようともしましたが、 全体がformで囲まれているので、formの入れ子になりできませんでした。 おそらくjavascriptで、select部分で、onchange="Selc(this)"とすれば、 その処理を行うと思うのですが、処理自体の書き方がわかりません。 プルダウン部分に法人コード一覧を表示させることは、できましたが、 その後の処理の書き方がわかりませんので、 ご存知の方がいらっしゃいましたら、ご回答宜しくお願いします。 一部ソースを載せます。 <% ' データベース接続の確立 Set Conn = ConnectDB(DSN) ' 法人マスタテーブルから値を取得 SQL = "Select 法人コード,会社コード,法人名称 From 法人マスタ ORDER BY 法人コード" Set Rs = ExecSql(Conn, SQL) %> <tr class="example"> <td style="width:300px; text-align:left; background-color: #00ff00;"> <b>法人コード</b> </td> <td> <select name = "houjin"> <option value=""/>--------法人コード選択--------</option> <% While Not Rs.EOF Response.Write"<option value=""" & Rs("法人コード") & """>" & Rs("法人コード") & " " & "</option>" Rs.MoveNext Wend %> </select> </td> </tr> <tr class="example"> <td style="width:300px; text-align:left; background-color: #00ff00;"> <b>会社コード</b> </td> <td> <textarea name="kaisya" style="width:100%" rows=1 class="textbox"></textarea> </td> </tr> <tr class="example"> <td style="width:300px; text-align:left; background-color: #00ff00;"> <b>法人名</b> </td> <td> <textarea name="hmei" style="width:100%" rows=1 class="textbox"></textarea> </td> </tr> どうぞよろしくお願いします。

みんなの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

どのくらいの数なのか不明ですが… >直接option value部分に書けばできそうですが、 >データの量が膨大な為、直接コードに書くのは難しそうです それだけ種類が多いのであれば、一つのセレクトで選択させるというUIそのものが問題ではないのでしょうか? 入力コードをサーバーに送信してDBからレコードを得たいのであれば、ajaxあたりをキーにググればいろいろと見つかると思います。 数が少なければ、最初にスクリプトに全データを渡して、あとはクライアント側で処理してしまうという方が簡単です。 ご質問の内容なら、数が1000くらいあってもデータ量として100kbにはならないくらいでしょうから。 一方で、1000個もあるプルダウンを操作するなんてとても私には考えられません。

taka78ube
質問者

お礼

ajaxは難しいので、断念しました。 隠しフレームにてなんとかできました。 回答ありがとうございました。

taka78ube
質問者

補足

丁寧なご説明ありがとうございます。 ajaxを検索してみましたが、PHPを使用しているものが多くて、PHPを勉強したことのない私には理解できませんでした。 最初にスクリプトに全データを渡して、クライアント側で処理ということですが、意味はわかるのですが、どういう方法で行えばいいかが、全然思いつきません。 お手数でなければ、参考になるサイト等教えていただければ助かります。 どうぞ宜しくお願いいたします。

関連するQ&A

  • オンマウスでプルダウンメニューを作りたいのですが?

    オンマウスでプルダウンメニューを作りたいのですが、作って見た所表示はしますが、消えません。 それと、横に同様なメニューを作る場合の方法を申し訳ありませんが教えてください  以下がソースです。 <HTML> <HEAD> <TITLE>メニュー</TITLE> </HEAD> <BODY> <A href="#" onMouseover="window['table'].style.display='none'" onMouseout="window['table'].style.display=''"> ●●情報</A> <TABLE id="table" border="1" style="display:" align="left" cellpadding="0" cellspacing="0" width="180"> <TR> <TD CLASS="td9" COLSPAN="3" ALIGN="left"><a href="http://www.goo.ne.jp"></a>●●</TD> </TR> <TR> <TD CLASS="td9" COLSPAN="3" ALIGN="left">▲▲</TD> </TR> </TABLE> </BODY> </HTML>

  • プルダウンの選択値により活性・非活性化したい

    プルダウンの選択値によりその他のプルダウンメニューやテキストエリアを活性・非活性化したいです。 下記の例では「OS」のプルダウンが「Windows」と選択されたならば、「Windowsのバージョン」のプルダウンや「Windowsのサービスパック」のテキストエリアを活性化させ、OSのプルダウンがWindows以外ならば非活性化させたいのですが、どのようにすれば実現可能でしょうか <html> <head> </head> <body> <table> <tr> <td>OS</td> <td><select id="IDOS"> <option value="">-</option> <option value="Windows">Windows</option> <option value="Mac">Mac</option> <option value="Linux">Linux</option></select> </td> </tr> <tr> <td>Windowsのバージョン</td> <td><select id="IDVersion"> <option value="">-</option> <option value="XP">XP</option> <option value="Vista">Vista</option> <option value="7">7</option></select> </td> </tr> <tr> <td>Windowsのサービスパック</td> <td><input type="text" value="" size="30"> </td> </tr> </table> </body> </html> <!-- end footer -->

  • htmlファイルからphpファイルへの値の受け渡し

    表を使った問い合わせフォームを作成したのですが、データを受け渡す方法がわかりません!! 初めの問い合わせページは以下のようにhtmlファイルで記述しました。 この場合、次のページにデータを引き渡すphpファイルには、どうのような記述をしたら良いのでしょうか? <form method="post" action="info.php"> <table class="table margin01" width="592" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="190" align="left" bgcolor="#FFF09D">お名前 <span class="tabletext1">※必須</span></td> <td><input name="name" type="text" class="form01" id="name" /><br /> 入力例:山田 太郎 </td> </tr> <tr> <td align="left" bgcolor="#FFF09D">メールアドレス <span class="tabletext1">※必須</span></td> <td><input name="mail" type="text" class="form01" id="mail" /><br /> 入力例:●●●●●●@yamada.co.jp </td> </tr> <tr> <td align="left" bgcolor="#FFF09D">メールアドレス(確認) <span class="tabletext1">※必須</span></td> <td><input name="mail2" type="text" class="form01" id="mail2" /></td> </tr> <tr> <td align="left" bgcolor="#FFF09D">お問い合せ内容 <span class="tabletext1">※必須</span></td> <td> <select name="list" id="list"> <option>お問い合せ内容をお選びください</option> <option>事業内容について</option> <option>求人について </option> <option>その他</option> </select> </td> </tr> <tr> <td align="left" bgcolor="#FFF09D">内容 <span class="tabletext1">※必須</span></td> <td><textarea name="content" id="内容" cols="45" rows="5"></textarea></td> </tr> </table> <p align="center" class="margin01"> <input type="reset" value="クリア" /> <input type="submit" value="送信内容を確認する" /> </p> <input type="hidden" name="test" value="cloud" /> </form>

    • ベストアンサー
    • PHP
  • プルダウンメニューのvalue値取得について

    お世話になります。 プルダウンメニューのvalue値を取得するのに以下のjavascriptとhtmlを作成しました。 3つのカテゴリプルダウンメニューのそれぞれのvalue値をflg_fileへ格納して、その値に対応したHTMLへジャンプという物なのですが、実際に動作させると、main_select02や03でvalue値を4、5と指定しているにもかかわらず、実際に動作させるとジャンプする先はlist_NO"1".htmlとなってしまっています。 これはvalue値がちゃんと取得できていないのか、それともプルダウンメニューは値を設定しても、上から自動的に1、2・・・となるのが仕様なのか、元々の作りがおかしいのか頭を悩ませています。 何がおかしいのか、ご教授頂けますようお願いします。 ■javascriptソース function flg_set(n) { switch(n){ case 1: flg_file = document.selectForm.main_select01.selectedIndex; break; case 2: flg_file = document.selectForm.main_select02.selectedIndex; break; case 3: flg_file = document.selectForm.main_select03.selectedIndex; break; } } function select_list() { parent.select.location.href = "list_NO"+[flg_file]+".html"; } ■HTMLソース <FORM NAME="selectForm"> <td width="10"> </td> <td width="120"><select name="main_select01" onChange="flg_set(1)" onFocus="this.blur()" style="font-size:12px; width:120px;"> <option value="0">▲カテゴリ(1)</option> <option value="1">┗ ページ(1)</option> <option value="2">┗ ページ(2)</option> <option value="3">┗ ページ(3)</option> </select></td> <td width="10"> </td> <td width="120"><select name="main_select02" onChange="flg_set(2)" onFocus="this.blur()" style="font-size:12px;width:120px;"> <option value="0">▲カテゴリ(2)</option> <option value="4">┗ ページ(4)</option> <option value="5">┗ ページ(5)</option> </select> </td> <td width="10"> </td> <td width="120"><select name="main_select03" onChange="flg_set(3)" onFocus="this.blur()" style="font-size:12px;width:120px;"> <option value="0">▲カテゴリ(3)</option> <option value="6" selected>┗ ページ(6)</option> </select> </td> <td width="10"> </td> <td width="100%"><input type="button" value="ページジャンプ" onClick="select_list();"> </td> </form>

  • 2段プルダウンの値の保持について(html)

    2段プルダウンの値の保持について(html) お世話になっております。 WEBページにてエントリーフォームを作成しております。 base.html(エントリー画面) base_ck.php(確認画面) Aプルダウン(都道府県) Bプルダウン(所属名) MySQLよりPHPで先にBプルダウンの値を計算しておきます。 Aプルダウンを選択したのち、Aのvalue値をキーとしてBプルダウンの値を計算(javascript)しております。 ここまでは問題ないのですが、確認画面から戻る(submit)と、Bプルダウンの値が消えて選択もできなくなります。 今までは運用でごまかしておりましたが(Aプルダウンで一旦違う値を選択し再度選びなおすとBプルダウンが復活する)、 クライアントより修正依頼がきてしまいました。 PHP・HTMLは何とか書けるのですが、JavaScriptはど素人で、このプログラムもネットから情報を拾い集めて何とかできました。 ご教授いただければ幸いです。 サンプルコードは以下となります。 「base.html(エントリー画面)」 <html lang="ja"> <head> <title>テストページ</title> <script type="text/javascript"> <!-- データベースよりJavaScriptにて「所属名」を配列に格納する belong_value = new Array(); belong_text = new Array(); belong_length = new Array(); <?php   //ここでBプルダウンの値を計算して配列に格納する。   //データサンプル //belong_value[11] = new Array("0","1001","1002");   //belong_length[11] = 3; //belong_text[11] = new Array("---","北海道","北海道倶楽部","札幌クラブ"); ?> function BelongList(idx){ //選択リストに項目を追加 for(i=0;i<belong_length[idx];i++){ document.form_kojin.belong.length=belong_length[idx]; document.form_kojin.belong.options[i].text = belong_text[idx][i]; document.form_kojin.belong.options[i].value= belong_value[idx][i]; } //選択リストがブランクの場合 if(i==0){ document.form_kojin.belong.length=1; document.form_kojin.belong.options[i].text = "---"; document.form_kojin.belong.options[i].value= 0; } } //--> </script> </head> <body> <div id="wrapper"> <div id="main"> <h1>申込ページ</h1><br /> <?php $action_ck = "https://aaa/base_ck.php"; ?> <h2></h2> <div class="main-frame"> <p><span class="style-indispensable">※必須項目</span></p><br /> <form name="form_kojin" action="<?php echo htmlspecialchars($action_ck, ENT_QUOTES); ?>" method="post"> <table> <tr> <th class="th-style"> <div><span class="style-indispensable">※</span>都道府県</div> </th> <td class="td-style"> <SELECT autofocus size="1" name="branch_name" id="branch_name" onChange="BelongList(this.options[selectedIndex].value);"> <OPTION value="0">---</OPTION> <OPTION value="11">北海道</OPTION> <OPTION value="21">青森県</OPTION> <OPTION value="22">岩手県</OPTION> </SELECT> </td> </tr> <tr> <th class="th-style"> <div><span class="style-indispensable">※</span>所属名</div> </th> <td class="td-style"> <SELECT size="1" name="belong" id="belong"><!-- BelongList関数より自動生成 --> <OPTION value="0">---</OPTION> </SELECT> </td> </tr> </table> <br /><br /> <div> <input name="submit" type="submit" value=" 入力確認画面へ " class="button-05"> </div> </form> </div> </div> </div> </body> </html>

  • プルダウンメニューとテキストボックス

    以下のようなプログラムを作りました。 デフォルトでは、テキストボックスに田中雄一さんが入っています。 その横には、プルダウンメニューがあり、ログインユーザ山田隆 さんが、プルダウンメニューを変更すると、テキストボックスには 山田隆さんの名前が入ります。しかし、プルダウンメニューで最初と 同じ項目を選んだ場合には、山田隆さんではなく、デフォルトの田中 雄一さんの名前を入れたく思います。しかし、現状うまくいかず、プル ダウンメニューでどれを選択しても山田隆さんに変更されてしまいます。 javaスクリプトでエラーが出ているようなのですが、なぜだかわかりません。 識者の方のアドバイスお願いいたします。 ----------- <html> <head><SCRIPT LANGUAGE='JavaScript'><!-- var firstname = document.myform.Set_R12C2.value; var firstvalue = document.myform.Set_R12C3.value; function OC(){ var A = document.myform.Set_R7C3.value; var B = A.slice(9); if(firstvalue != document.myform.Set_R12C3.value){ document.myform.Set_R12C2.value = B; }else{ document.myform.Set_R12C2.value = firstname; } } //--></SCRIPT><TITLE>TEST</TITLE></HEAD> <FORM METHOD='POST' NAME='myform'> <INPUT NAME='P' VALUE='javascript' TYPE='HIDDEN'> <table border=0 cellpadding=0 cellspacing=0 width=350 class=xl6420188 style='border-collapse:collapse;width:262pt'> <col class=xl6420188 width=155 style='mso-width-source:userset;mso-width-alt: 4960;width:116pt'> <col class=xl6420188 width=195 style='mso-width-source:userset;mso-width-alt: 6240;width:146pt'> <tr height=18 style='height:13.5pt'> <td height=18 class=xl6620188 width=155 style='height:13.5pt;width:116pt'><a name="RANGE!A1:B6"></a></td> <td class=xl6520188 width=195 style='width:146pt'>ログインユーザ: 山田隆<input name='Set_R7C3' type='HIDDEN' value='ログインユーザ: 山田隆'></td> </tr> <tr height=18 style='height:13.5pt'> <td height=18 class=xl6520188 style='height:13.5pt'><input name='Set_R12C2' type='text' size='26' maxlength='50' style='height:13.5pt;width:116.25pt;font-size:11pt;background-color:#FFFFFF;text-align:center;color:#000000;font-family:MS Pゴシック;' OnKeyDown="if(event.keyCode==13){ return false; }" value='田中雄一'></td> <td class=xl6520188> <SELECT NAME='Set_R12C3' style='height:13.5pt;width:146.25pt;font-size:11pt;background-color:#FFFFFF;text-align:center;color:#000000;font-family:MS Pゴシック;' OnChange="OC()"> <option value=''></option> <option value='承認する' selected>承認する</option> <option value='承認しない'>承認しない</option> </SELECT></td> </tr> </table></FORM> </body> </html>

  • <img>タグにCSSのclass設定可能?

    <img>タグにスタイルシートのclassは、直接設定できるのでしょうか? 例えば,以下のようにテーブルの中にexample.jpgという画像があるとします。 <table border="4" width="250"> <tr> <td align="left"> <img src="example.jpg" width="100" height="100" borde="0"> </td> </tr> </table> この場合、<td align="left">とあるのでexample.jpgはセルの中で左揃えになって表示されます。 質問1: ここで、スタイルシート使用して、<td align="left">のまま、example.jpgをセルの中で中央揃えにして表示したいとします。また、スタイルシートを使用して、example.jpgの上下には10pxのマージンを設定します(ここでは、スタイルシートに関する質問のため、あえてhspaceは<img>タグに使用しません。)。スタイルシートの指定は、<head></head>内で行なうことにします。 この場合、以下のように<img>タグの中に直接classを設定できますか?できない場合は、その理由、正しいやり方等をお教え下さい。 <head> <style type="text/css"> .abc{ text-align:center; margin-top:10px; margin-bottom:10px: } </style> </head> <table border="4" width="250"> <tr> <td align="left"> <img class="abc" src="example.jpg" width="100" height="100" borde="0"> </td> </tr> </table> やはり、<div></div>で<img>タグを囲んで、 <head> <style type="text/css"> .abc{ text-align:center; margin-top:10px; margin-bottom:10px: } </style> </head> <table border="4" width="250"> <tr> <td align="left"> <div class="abc"> <img src="example.jpg" width="100" height="100" borde="0"> </div> </td> </tr> </table> などとするしか方法がないのでしょうか? 質問2: また、スタイルシートを使用せずに、上記のテーブルで<td align="left">のままexample.jpgを中央揃えにする方法はあるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML
  • MySQLのデータを使ってプルダウンの値を動的に変更したい

    以下の授業プルダウンですが、 任意の授業が選択されたときに、 その授業の内容を大分類の下の中分類(middle_class)をDBで検索して、次の中分類プルダウンの変数に渡したいのですが、当然のごとくでき ません。 大分類で画面遷移して中分類の画面へというように、何回も検索画面 を分けるのならいいのですが。何度も処理をする必要があるので、 絶対に画面遷移しない。orしているように見えないようにしたいです。 下記サイト一番役立つかなぁと思いましたが、マスターデータはDBから検索させたい。 Javascriptsに直書きは、メンテナンスが難しい。 http://www.cc.kyoto-su.ac.jp/~ushitaki/JavaScriptExample/introselect2.html <SCRIPT LANGUAGE="JavaScript"> <!--- function getcategory(){ ckind=document.category.top.selectedIndex; cvalue=document.category.top.options[ckind].value; <?php if( $_REQUEST['$top']){ $MySQL['HOST'] = '127.0.0.1'; $MySQL['USER'] = 'root'; $MySQL['PASSWORD'] = '********'; $MySQL['DATABASE'] = 'category'; $MySQL['conn'] = @mysql_connect($MySQL['HOST'],$MySQL['USER'],$MySQL['PASSWORD']) or exit('Can not access MySQL DB'); mysql_select_db($MySQL['DATABASE'], $MySQL['conn']); $MySQL['query'] = "set names sjis"; $MySQL['result'] = mysql_query($MySQL['query'], $MySQL['conn']); $MySQL['query'] = "SELECT middle_class_code, middle_class_name FROM middle_class where top_class_code = ".$_REQUEST['$top'].""; $MySQL['result'] = mysql_query( $MySQL['query'],$MySQL['conn'] ); $count = 0; while($table4[$count] = mysql_fetch_array($MySQL['result'], MYSQL_NUM)) { $table3[$count] = $table4[$count]; $count = $count + 1; } if(cvalue==$top){ for($i = 0; $i < $count; $i++ ){ print("document.parts_category.middle.options[".$i."].text=".$table3[$i][1].";"); print("document.parts_category.middle.options[".$i."].value=".$table3[$i][0].";"); } } } ?> } //---> </SCRIPT> </HEAD> <BODY LANG="ja-JP" TEXT="#0066cc" LINK="#cc0033" VLINK="#ff9900" BGCOLOR="#ffffff" DIR="LTR"> <TABLE WIDTH=1072 BORDER=1 CELLPADDING=2 CELLSPACING=0 STYLE="page-break-before: always"> <COL WIDTH=531> <COL WIDTH=531> <TR> <TD WIDTH=531 HEIGHT=25> <P> 授業別クラス </P> </TD> <TD ROWSPAN=7 WIDTH=531> <P><BR> </P> </TD> </TR> <TR> <TD WIDTH=531 HEIGHT=20> <P>授業検索</P> </TD> </TR> <TR> <TD WIDTH=531 HEIGHT=20> <FORM NAME="category"> <P><FONT SIZE=2 STYLE="font-size: 9pt">大分類 <SELECT NAME="$top" STYLE="width: 2.43cm; height: 0.56cm" onChange="this.form.submit()"> <OPTION VALUE="x">大分類 <OPTION VALUE="MATH">数学 <OPTION VALUE="JAPE">国語 <OPTION VALUE="JAPH">日本史 <OPTION VALUE="CHEM">化学 <OPTION VALUE="PHYS">物理 <OPTION VALUE="FORL">外国語 <OPTION VALUE="WORH">世界史 </OPTION> </SELECT></FONT></P> </TD> </TR> <TR> <TD WIDTH=531> <P><FONT SIZE=2 STYLE="font-size: 9pt">中分類 <SELECT NAME="middle" STYLE="width: 4.52cm; height: 0.56cm" ONCHANGE="getparts()"> <OPTION VALUE="x" SELECTED>まず大分類を選んでください <OPTION VALUE="x"> <OPTION VALUE="x"> <OPTION VALUE="x"> <OPTION VALUE="x"> <OPTION VALUE="x"> <OPTION VALUE="x"> <OPTION VALUE="x"> <OPTION VALUE="x"> <OPTION VALUE="x"> <OPTION VALUE="x"> <OPTION VALUE="x"> <OPTION VALUE="x"></OPTION> </SELECT></FONT></P> </TD> </TR> <TR> <TD WIDTH=531> <P><INPUT TYPE=SUBMIT VALUE="検索" STYLE="width: 1.08cm; height: 0.58cm"></FORM> </P> </TD> </TR> </TABLE>

    • 締切済み
    • PHP
  • プルダウンで選択したCGIを動かしたい(ACTION=""をプルダウンで変更するには?)

    プルダウンで選択したCGIを動かしたい(ACTION=""をプルダウンで変更するには?) 以下の <option value="test1.cgi">テスト1  <option value="test2.cgi">テスト2 <option value="test3.cgi">テスト3 <option value="test4.cgi">テスト4 4つのプルダウンメニューを選択して、それぞれ別のCGIを動かすには どうしたらできますか? よかったら教えて下さい。javascriptで出来そうな気がするのですが… <FORM name="testname" method="post" ACTION="/cgi-bin/??????" > <TABLE> <TR><TD> テスト</TD> <TD bgcolor="#FFFFFF"> <SELECT name=""> <option value=""> <option value="test1.cgi">テスト1  <option value="test2.cgi">テスト2 <option value="test3.cgi">テスト3 <option value="test4.cgi">テスト4 </SELECT></TD> </TR> <TR> <TD bgcolor="#cccccc" width="150"> 開始日</TD> <TD bgcolor="#FFFFFF"> <input name="daysS" type="text" size="8"> </TD> </TR> <TR> <TD bgcolor="#cccccc" width="150"> 終了日</TD> <TD bgcolor="#FFFFFF"> <input name="daysE" type="text" size="8"> </TD> </TR> </TABLE> <BR> <INPUT type="submit"name="send"value="開始"> <INPUT type="reset" name="reset" valiu="消去"> </FORM>

  • プルダウンによる表示制御方法

    プルダウンの選択内容による表示の切り替えを行いたいです。 例えば、AとCを選択すると下にあるテキストボックスが非表示になり Bを選択するとテキストボックスが表示するように制御を行いたいです。 <table align="center" border="0" cellpadding="0" cellspacing="0"> <tr><td> <form name="a"> <SELECT NAME="b"> <OPTION SELECTED> <OPTION VALUE="0">A <OPTION VALUE="1">B <OPTION VALUE="2">C </SELECT> </td></tr> <tr><td> <input type="text" size="6" maxlength="5" name="text1" value=""> </td></tr> </form> </table></form></td></tr></table> すみませんが、よろしくお願い致します。

    • ベストアンサー
    • HTML

専門家に質問してみよう