質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

951閲覧

formのチェック項目によって遷移先で出し分けをしたい

MeB

総合スコア104

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2017/11/07 04:30

編集2017/11/07 06:41

http://5am.jp/javascript/form_change_javascript/

上記のサイトにあるサンプルソース(セレクトボックス)のようなものを実装しているのですが
ここのセレクトボックスで項目を変えると遷移先の内容を切り替わるようにしたいのですが可能でしょうか?

具体的にはセレクトボックスで選ばれたものによって遷移先のtableの中身が切り替わります。
切り替わる種類は3パターンのみです。
いずれも別々のcsvファイルになっています。(1つにまとめたほうがいい場合はそれでも構いません)
tableの中はcsvからテキストをPHPで取って来ています。
表の上には表のタイトルがありそれも切り替わるようにしたいです。(<h2>の中)

遷移先のページは同じURLですが、後ろにパラメータなど何か判別するものをつけるのは構いません。

上記のURLのサンプルソース(セレクトボックス)の例だと
「初めてを申し込む」選択時、紹介者に名前を入れて送信ボタン(サンプルにはないですが)を押した場合
Aのテーブルの中身を表示。
「2度目以降の利用」も同様。

ただ、紹介者に名前が入っていない場合は3パターン全てを表示。

もともと3つ用意しておいて、表示、非表示の方が簡単でしょうか?
いろいろわかりにくくて申し訳ございません。

よろしくおねがいします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

masaya_ohashi

2017/11/07 04:49

少し質問文が伝わりにくいです。タグにPHP等のサーバサイド言語がありませんが、HTML上だけで完結したいということでしょうか?また、遷移先の内容を変えるというのも、どのレベルで変えるのでしょうか?ページ内の1行レベルなのか、そもそも全く違うページなのか…それも質問から伝わってきません。できれば現状のコード、及び「どういう表示になることを望んでいるか」を具体的に提示したほうが回答が得られる(というより現状だと回答は得られない)と思います。
MeB

2017/11/07 06:42

失礼しました。どう説明たらもいいかわからず投げていました。修正いたしました。
masaya_ohashi

2017/11/07 06:45

ページの出力自体はPHPで行っているという認識でよいのでしょうか?そのPHPの現状のコードを貼られたほうが回答は得られやすいかと思います。可能であれば「セレクトボックス」がある方のPHP、及び「遷移先のページ」のPHPどちらも提示してください。
MeB

2017/11/07 06:57

セレクトボックスにある方にはまだPHPの記述はありません。jsでセレクトボックスの中身によってチェックする項目の数が変わったりするくらいです。遷移先はPHPでcsv読み込んでechoで対応する所に表示しているだけです・・・
masaya_ohashi

2017/11/07 06:59

「遷移先のページは同じURL」とは、セレクトボックスのあるURLと遷移先が同じ、という意味なのか、3パターンの遷移先は全部同じURL、という意味でしょうか?
MeB

2017/11/07 07:02

どちらもです。セレクトボックスのあるページとその遷移先のページ、この2ページで完結させたいと思っております。
guest

回答2

0

考え方が2つ

  • セレクトボックスで項目を選んだあとなんらかのサブミットをおこなうのであれば

ただのformの送信です。セレクトボックスに付けられたnameに従って
遷移先のデータは変化するでしょう。とうぜんそれは遷移先がやることです。

  • そうではなくセレクトボックスを選んだ瞬間にページが遷移する場合。

たとえばlocation.hrefなどで移動するのであれば、今選んだセレクトボックスの
nameと値を付加して与えれば、飛び先でそれに応じたデータが表示されます。

投稿2017/11/07 05:29

yambejp

総合スコア114814

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

こんな感じです。セレクトボックスのあるほうのフォームから、PHPへパラメータを送り、$_REQUEST変数を使ってそのフォームのデータを読み込みます。

セレクトボックス表示側

HTML

1<form action="/view.php" method="GET"> 2 <select name="csv_name"> 3 <option value="aaa"> 4 <option value="bbb"> 5 <option value="ccc"> 6 </select> 7</form>

CSV表示側(view.phpとする)

PHP

1echo "<h2>" . $_REQUEST['csv_name'] . "</h2>"; // $_REQUEST['【formから送られてきたデータ名】']でformから送られたデータが取れる 2$filepath = $_REQUEST['csv_name'] . ".csv"; // ここはあなたの環境にあわせて読み込みたいcsv名になるようにする 3$fp = fopen($filepath, 'r'); 4while (($data = fgetcsv($fp)) !== FALSE) { 5 // $dataにはcsvの1行のデータが配列として入っている 6} 7fclose($fp);

投稿2017/11/07 07:10

masaya_ohashi

総合スコア9206

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MeB

2017/11/07 07:23 編集

ありがとうございます! これで試してみます! 現状セレクトボックスを変えるとそれに対応したチェックボックスがでるのですが どれにもチェックしていない時は3パターン全て表示というのは難しいという解釈でよろしいでしょうか? 度々すみません。よろしくお願いいたします。
masaya_ohashi

2017/11/07 07:26

チェックボックスのほうの値は、「チェックされていればそのデータがフォームから送信される」ので、例えば<input type="check" name="check1" value="on">というチェックボックスにチェックが入っていれば$_REQUEST['check1']に'on'という文字列が、チェックが入っていなければそもそも$_REQUEST['check1']がない、という状態になります。それらをphp側でifによりチェックして、処理を分岐すればよいです。
MeB

2017/11/07 09:50

返信が遅くなり申し訳ございません。 色々考えた結果、デフォルト(セレクトボックスは関係なく、チェックボックスはチェックされていない状態)では3パターンの表を表示させる。 チェックボックスにチェックが入っている場合は。セレクトボックスでaaaの時のチェックボックスを<input type="check" name="check1" value="click_a">、bbbの時のチェックボックスを<input type="check" name="check1" value="click_b">のような形にしてそれぞれを判断しCSV表示側でそれに対応した表のみを表示する形にしたいと思っております。 数々の助言ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問