• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ドロップダウンリストの値の足し合わせ(子ども向け))

子ども向けの階層化されたデータベースへのアクセス方法をドロップダウンリストで実現したい

このQ&Aのポイント
  • 子どもでも簡単にホームページのデータベースにアクセスできる方法を探しています。ドロップダウンリストを使って階層化されたデータベースの項目を選ぶと、自動的にURLアドレスが生成され、リンク先のページにアクセスできる仕組みを作りたいです。
  • 具体的な例として、学年、クラス、データの3つの階層で構成されるデータベースがあります。ドロップダウンリストを使ってそれぞれの階層を選ぶと、URLアドレスが作成されます。例えば、学年を1年、クラスを2組、データを3と選んだ場合、以下のようなURLアドレスが生成されます:http://www.example.com/1nen/2kumi/3
  • このような仕組みを実現するためには、ドロップダウンリストを使って選択された値を取得し、それを元にURLアドレスを生成するプログラムを作成する必要があります。また、アドレス生成の途中過程の表示は必要ありません。子どもでも簡単に操作できるように、ユーザインターフェースのデザインも考慮する必要があります。

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

  • ベストアンサー
noname#36864
noname#36864
回答No.1

HTMLとJavaScriptの話ですかね? それなら <form action="http://www.aa.bb.jp/"> [学年]<select> <option value="1nen">1年</option> <option value="2nen">2年</option> <option value="3nen">3年</option> </select> [クラス]<select> <option value="1kumi">1組</option> <option value="2kumi">2組</option> <option value="3kumi">3組</option> </select> [データ]<select> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <input type="submit" value="[Go]"> </form> このようなフォームをbody内に作り <script type="text/javascript"> window.onload = function(){ document.forms[0].elements[3].onsubmit = function(){ var e = document.forms[0].elements; for(var i=0;i<e.length;i++){ var url = document.forms[0].action; if(e[i].type != "submit"&&i != 2){ url += e[i].value + "/"; }else if(e[i].type != "submit"&&i == 2){ url += e[i].value; } window.location = url; } } </script> このようなJavaScriptをhead内に入れれば良いじゃないかと思います。 動作未確認。 何をやろうとしているかはDOMやDOMのプロパティを調べてください。 検索すれば沢山情報は得られます。 JavaScriptに付いてはこちらで調べられます。 http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Reference

bzr
質問者

お礼

kk273g906様  こんばんは。早々にお返事有り難う御座います。 javascriptを初めて勉強しますので、とても困惑しています。 kk273g906様にお示し頂いたsampleを早々に試してみようと思います。 当然の様にjavascriptの部分が複雑ですので、様々なfaq等を見ながら、 読み解いて行こうと思います。 今日、下にありますようなscriptを作ってみました。 見かけ上は、目的のごとく、ドロップダウンリストでURLを作り出して行くのですが、最後にできあがるURLの一部と前置文字列(http://www.aa.bb.jp/)を足し合わせることができません。 これでは全く見当外れになってしまっているでしょうか。 <script language="javascript"> <!-- function fun_set(set_name){ txtArea.value += eval(set_name).value; } //--> </script> <SELECT name="gakunen" size="1" onChange="javascript:fun_set(gakunen);"> <OPTION value="1nen/" >1年</OPTION> <OPTION value="2nen/">2年</OPTION> <OPTION value="3nen/">3年</OPTION> </SELECT> <SELECT name="kumi" size="1" onChange="javascript:fun_set(kumi);"> <OPTION value="1kumi/">1組</OPTION> <OPTION value="2kumi/">2組</OPTION> <OPTION value="3kumi/">3組</OPTION> </SELECT> <SELECT name="data" size="1" onChange="javascript:fun_set(data);"> <option value="a.jpg">a</option> <option value="b.jpg">b</option> <option value="c.jpg">c</option> </SELECT> <BR> <TEXTAREA name="txtArea" rows="5" cols="50">

bzr
質問者

補足

kk273g906様 お世話になります。今日も色々試しましたところ、 select文で得られた値をURLとして足し合わせることで目的が達成できました。ありがとうございました。 これからもよろしくお願いいたします。 概略は下記のようなものです。 <form name="form"> <font color="#ff0080" size="5">gakunen:</font> </font> Introductory_remarks = "http://wwwaa.bb..jp/" <select name="gakunen"> <option value="01">1年</option> <option value="02">2年</option> <option value="03">3年</option> </select> <font color="#ff0080" size="5">classs:</font> </font> <select name="Hiniti"> <option value="01">1組</option> <option value="02">2組</option> <option value="03">3組</option> </select> <font color="#ff0080" size="5">dat:</font> </font> <select name="Hiniti"> <option value="a.jpg">1</option> <option value="b.jpg">2</option> <option value="c.jpg">3</option> </select> <script language="javascript"> <!-- gakunenDir = document.form.gakunen.value; classDir = document.form.class.value; datDir = document.form.dat.value; URL = document.form.Introductory_remarks.value + "/" + gakunenDir + "/" + classDir + "/"+ datDir ; //--> </script>

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 各クラスの平均身長・体重を計算するスクリプト

    標記の件で、至急困っています。 perl でも awk でも良いので次のようなスクリプトを教えてください。 ぜひお願いします!!Linux上で作業をやることになってます。 1年生の各クラスの生徒のデータは、クラスごとに 1/class1 1/class2 1/class3 1/class4 1/class5 のように学年を表す数字のディレクトリに データファイルが入っています。 2年生のデータも同様で、 2/class1 2/class2 ・・・ 2/class4 2/class5 のような感じです。 各学年5クラスで、全部で6学年あります。 各クラス、だいたい生徒が40人くらいで、 データファイル class* には、身長、体重が 山田 131 23 高橋 135 24 ・・・ のように記録されています。 以上のデータを各クラスごとに平均を計算して、 1-nen 1-kumi 125.3 20.5 1-nen 2-kumi 120.2 18.9 ... 6-nen 5-kumi 140.6 44.9 のような出力を得るにはどうすればよいでしょうか? よろしくおねがいいたします!

    • ベストアンサー
    • Perl
  • コマンドプロンプトのバッチファイルについて

    ディレクトリ1に以下のようなファイルがあります。  "file01_05_aa.jpg"  "file01_05_bb.jpg"  "file01_05_cc.jpg"  "file21_04_aa.jpg"  "file21_04_bb.jpg"  "file21_04_cc.jpg"  "file31_03_aa.jpg"  "file31_03_bb.jpg"  "file31_03_cc.jpg" これらのファイル形式は (file)(XX)_(XX)_(XX).jpg これらの中からこの正規表現でヒットするファイルのみ指定した別ディレクトリにコピーしたいです。 file\d\d_(05|03)_(aa|cc)\.jpg Windowsのコマンドプロンプトで実現可能でしょうか。可能であればコマンド列を教えてください。 (cygwinでも良いです。) よろしくお願いいたします。

  • リスト

    アドレス:aa bb cc head → 3 → 1 → 2 → NULL          ↓(1) head → 1 → 3 → 2 → NULL ↓(2) head → 1 → 2 → 3 → NULL 図がわかりにくいですが、リスト構造で上記のように昇順で交換を行うソート(逐次決定)処理を行う場合(この場合3つしかないので隣接交換にみえますが逐次のほうです)に、 (1)の処理では…3の要素と1の要素を交換するので、headの次のアドレスは1のアドレス(bb)にし、1の次のアドレスは3のアドレス(aa)にし、3の次のアドレスは2のアドレス(cc) (2)の処理では…3の要素と2の要素を交換するので、1の次のアドレスは2のアドレス(cc)にし、2の次のアドレスは3のアドレス(aa)、3の次のアドレスはNULL となりますよね?? この(1)と(2)の処理を行うプログラムを作成したいのですがどなたかご教授をお願い致します。 またデータが多くなっても対応できるようにしたいです。 前日に下記のほうにも投稿しましたが、勉強不足のためあまり理解できなかったのでもう一度投稿しました。よろしくお願いします。 「http://okwave.jp/kotaeru.php3?q=1876998

  • プログラム

    シェルプログラミングについて教えてください。(初心者です) 例 /apのディレクトリがあります。 /apのディレクトリの下には、aa・bbのディレクトリがあります。 (/ap/aa、/ap/bb) aaとbbを取得して、繰り返し分(この例でいえば2回ループ)を作りたいのですが、 どのように作成すればいいかわかりません。 (/usr/bin/kshで現在作成しています。) ご存知の方いましたら教えてください。 よろしくお願いします。

  • phpとmysqlで授業評価アンケートシステムを

    phpとmysqlを使って授業評価アンケートシステムを作りたいと思っています。 数ページに渡って、年度・学年・クラス・科目etcについて入力して、 最終ページで評価(各設問に対する人数)を入力し、 それまでのページで選択した年度・学年・クラス・科目etcに加え、評価(人数)をDBに登録するようなシステムにしたいと思っています。 ページ1で、 年度・学年・クラスをドロップダウンリストから選択します。 ページ2で、 先ほどのページで選択した年度・学年・クラスを表示した上で、 科目をドロップダウンリストに表示します。 学年・クラスに応じて、ドロップダウンリストに表示する項目を変えたいのですが、 それがわからないということが一点。 DBに学年・クラス・科目名etcという構造のテーブルを用意しておき、 ページ1で選択した学年・クラスが、用意したDBの学年・クラスが一致するもののみ、 ページ2の科目ドロップダウンリストに表示したいのです。 ページ1で選択した年度・学年・クラスをページ2に表示することはできました。 ページ1で選択した年度・学年・クラスをページ3でも同じように表示する方法がわからないのが二点目。 どなかか詳細に教えていただけませんでしょうか。 些細なことでも構いません。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • excel index関数?changeイベント??

    作者不明のため、教えていただきたいのですがお願いします。 シートが4つほどあり、index関数でデータを5つめのシートで集計しています。 集計シート例:  A  B C D E F G H ・・・ 1   【ここにドロップダウンのボックス?があります▼】 2   あ い う え ・・・ 3●● 1 1 2 2 ・・・ 4△△ 2 2 3 2 ・・・ 5□□ 1 1 1 1 ・・・ ・ ・ ●●シート例:  A  B C D E F G H ・・・ 1   あ い う え ・・・ 2AA 1 1 1 1 ・・・ 3BB 0 1 1 1 ・・・ 4CC 1 2 2 2 ・・・ あいうえ項目が各シートにあり、集計シートでドロップダウンリスト(リストの下のセルB1には数字の割り当てがあります)からAAを選ぶと各シートからデータを引っ張ってきて(index関数がB1の数字を読み取ります)、各シートのデータが集計されます。 BBやCCと選んでも簡単に集計してくれるので重宝していたのですが、 これを応用しようと新規ブックで似たものを作り、 index関数(例:=IF((INDEX(●●!$B$2:$H$10,$B$1,1))="","*",INDEX(●●!$B$2:$H$10,$B$1,1))) ※列番号も右セル(あ→い→う・・・)にいくごとに増えていきます。 もコピーしましたが「#REF!」となって集計してくれません。 元のブックを開いてドロップリストを右クリック→マクロの登録をみるとマクロ「ドロップ1_change」という登録が見えますが、マクロを調べても表示は Sub ドロップ1_Change() End Sub しかでてきません。 なにも入っていないのになぜ動くのでしょうか? また他のブックではなぜ「#REF!」となるのでしょうか。 質問もどうしていいかわからないためわかりにくいかと思いますが、教えてください。この説明で不足している場合はご連絡下さい<(_ _;)>

  • ドロップダウンリストを大きくしたい。

    エクセル2000です。 入力規制でドロップダウンリストからの選択で入力しています。 リストデータが30件あったとして、ドロップダウンリスト内にその30件一度に表示させることはできないでしょうか?(10件程度しか表示されず、スクロールさせています) または、表示件数を増やすような設定は、ないでしょうか?

  • ドロップダウンリスト

    ビルダーを使ってHPを作っています。 ドロップダウンを挿入して、作成途中の確認画面?ではうまくリンクされるのですが、 転送した後にサイトでみてもリンクされません。 ページが真っ白のままです。 これはどういったことが原因でしょうか? 分かる方がいましたらよろしくお願いします!!

  • ○、×のドロップダウンリストを作りたい。

    エクセルで「○」か「×」かを選択できるように ドロップダウンリストを作りたいのです。 ドロップダウンリストに表示させたい 「○」「×」を別のセルに入力して、選択するように しているのですが、これを表示させないようにするには どうしたらよいのでしょうか? つまり、私がしていることは データ→入力規則→入力値の種類を「リスト」にする→元も値を「○、×が入力してあるセル を選択しているのです。」 この、元の値のセルの値が邪魔なのです。 どうぞ、よろしくお願いします。

  • ドロップダウンリストが開かないのは何故?

    Windows8.1で、MS-Office2010を利用しています。 VBAで、ドロップダウンリストを組み込んで利用しているのですが ある日、突然、このドロップダウンリストが開かなくなりました。 設定は何も変えていませんし、ウィルス感染もしていません。 ドロップダウンリストが開かなくなった直後に、ウィルス・スキャンを 実施しましたが、ウィルスは検知されませんでしたから。 仕方なく、MS-Office2010をアンインストールした後に 再度インストールしてみましたが、症状は全く変わりませんでした。 どうすれば、元のようにドロップダウンリストが開くようになるのでしょうか? 宜しくご指導願います。