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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

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

Q&A

解決済

3回答

12940閲覧

選択して送信した値をselectedのように、初期選択状態にするには

destrudo

総合スコア143

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

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

0グッド

1クリップ

投稿2017/05/29 01:54

編集2017/05/29 02:35

php

1<form method="get" action=""> 2<select name="month"> 3<option value="">--</option> 4 <option value="1">01</option> 5 <option value="2">02</option> 6 <option value="3">03</option> 7 <option value="4">04</option> 8 <option value="5">05</option> 9 <option value="6">06</option> 10 <option value="7">07</option> 11 <option value="8">08</option> 12 <option value="9">09</option> 13 <option value="10">10</option> 14 <option value="11">11</option> 15 <option value="12">12</option> 16</select> 17<input type="submit"/> 18</form>

セレクトボックスで選択し、送信した月を同じページでreloadされた時に初期状態に選択したいのですが、どうすればいいでしょうか。06を選択したら、06が初期状態に選択されているイメージです。

【追記】
wordpressを使っているので、言語はサーバーサイドです。なのでphpです。リロードは、確かに意味が分かりづらいです。form actionで同じページに飛ぶという意味です。

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

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

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

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

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

m.ts10806

2017/05/29 02:23

クライアントサイドのみ(HTML,Javascriptなど)ですか?サーバーサイド(PHPなど)もありますか?ご自身の環境やどちらで実現したいかなど詳細を書かれた方がより自分の欲しい回答を得られます。
guest

回答3

0

ベストアンサー

テンプレートを意識してこういう書き方が汎用的だと思います

PHP

1$selected["month"]=array_fill(1,12,"");//今回はたまたま連続データなのでこれでいけます 2$month=filter_input(INPUT_GET,"month"); 3$selected["month"][$month]=" selected"; 4print_r($selected); 5print <<<eof 6<form method="get"> 7<select name="month"> 8<option value="">--</option> 9<option value="1"{$selected["month"][1]}>01</option> 10<option value="2"{$selected["month"][2]}>02</option> 11<option value="3"{$selected["month"][3]}>03</option> 12<option value="4"{$selected["month"][4]}>04</option> 13<option value="5"{$selected["month"][5]}>05</option> 14<option value="6"{$selected["month"][6]}>06</option> 15<option value="7"{$selected["month"][7]}>07</option> 16<option value="8"{$selected["month"][8]}>08</option> 17<option value="9"{$selected["month"][9]}>09</option> 18<option value="10"{$selected["month"][10]}>10</option> 19<option value="11"{$selected["month"][11]}>11</option> 20<option value="12"{$selected["month"][12]}>12</option> 21</select> 22<input type="submit" value="go"> 23</form> 24eof; 25

投稿2017/05/29 03:00

yambejp

総合スコア114837

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

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

destrudo

2017/05/29 05:23

ありがとうございます。実装できました。
guest

0

methodはgetでいいんですよね。
「月」なのであれば1~12と決まっています。
なので、

  1. $_GETで値を受け取る
  2. 1~12をfor
  3. 2.のループの中で$_GET["month"]で一致しているoptionに[selected]を出力

で良いかと。

ただ、回答者様ご自身がこれまであげてきた質問の回答や解決したやり方を参考にすれば
解決できそうな内容ではありますが・・・。

投稿2017/05/29 02:38

m.ts10806

総合スコア80850

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

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

0

仰っているリロードの定義がよくわかりませんが・・・

F5とかそういうリロードを考慮するのであれば、
javascriptで、monthが選択・変更されたというイベント関数を作ってやって、
その関数内でセッションに選択された月とセッションのkeyを保存してやります。

そんでもって、ページがloadされた際にそのセッションの中身を見て、
セッションがなかったり、何もはいっていなければ「--」のoptionタグにselectedを付ける。
入っている場合は該当するoptionタグにselectedを付ける。
そんなイメージでしょうか。

セッションの使い方
【参考URL】
http://portaltan.hatenablog.com/entry/2015/08/05/100655

こんなのもあります
【参考URL】
https://oshiete.goo.ne.jp/qa/6217674.html

投稿2017/05/29 02:02

s.t.

総合スコア2021

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問