みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

フォームについて

フォームのドロップダウンメニューで
"りんご" "みかん" "ぶどう"
の3種類があるとします。

"ぶどう" を選択して送信をクリックすると
フォームの下に、ぶどうの結果が表示されるようなものをPHPで作りました。



このドロップダウンメニューについてですが
最初は"りんご" がドロップダウンメニューに表示された状態ですよね?

ドロップダウンメニューから選択して送信をすると
フォームの下に選択した結果が表示されるのですが
ドロップダウンメニューは、"りんご"に戻ってしまいます。
これを、送信をクリックした後も選択したものが表示された状態にしたいのですが、どのようにすればできますか??

投稿日時 - 2007-06-30 15:18:41

QNo.3127957

困ってます

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

たとえばこんな感じ?

<?
$array=array("りんご","ぶどう","みかん");

for($i=0;$array[$i];$i++)
{
if( $_REQUEST[kudamono]==$array[$i] )
{
$text="<OPTION value=\"$array[$i]\" SELECTED>$array[$i]</OPTION>\n";
}
else
{
$text="<OPTION value=\"$array[$i]\">$array[$i]</OPTION>\n";
}
}

echo "<SELECT name=\"kudamono\">";
echo "$text";
echo "</SELECT>";

?>

投稿日時 - 2007-06-30 17:53:01

お礼

ありがとうございます、出来ました!
今後同じことで悩まないようにしっかり理解して参考にさせてもらいます。

投稿日時 - 2007-06-30 18:12:52

ANo.4

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

あっ

× $text =
○ $text.=

です。

投稿日時 - 2007-06-30 17:55:24

ANo.3

フォームから入力された値を条件式に組み込んでみてはいかがでしょうか。
まず一番最初にプログラムでHTMLを出力する時は、フォームから入力された値(ドロップダウンメニューのname属性の値)が無いわけですから、
デフォルトの値(この場合りんご)に<option value="~" selected="selected">りんご</option>を出力し、
値がある時はその値によってどのoption要素にselectedを入れて出力させるか分岐させるのです。

投稿日時 - 2007-06-30 16:18:05

補足

ありがとうございます!
これを参考にもう少し勉強してみます

投稿日時 - 2007-06-30 18:08:55

ANo.2

selected を選択した項目に移すように命令してください。

投稿日時 - 2007-06-30 15:23:03

補足

なるほど!
ですが、プログラムでするとどのような記述になるのでしょうか??

投稿日時 - 2007-06-30 15:43:23

ANo.1

selected が りんご のままなんじゃない?

投稿日時 - 2007-06-30 15:22:00

補足

selectedがりんごのままです・・・。

投稿日時 - 2007-06-30 15:41:54

あなたにオススメの質問