昨日こちらのURL『http://oshiete.goo.ne.jp/qa/6477112.html』にて質問させていただきました。
ご回答を締め切らせていただいたため、誠に勝手ながら新たに質問の方させていただきました。
PHP検索フォーム、検索時の選択内容を保持する方法にて、先日ご回答いただいた
下記のコードを基本として利用しているのですが、
<?
//checkbox
if($_REQUEST["test_a"]=="1") $checked["test_a"]=" checked";
if($_REQUEST["test_b"]=="1") $checked["test_b"]=" checked";
//radio
if(isset($_REQUEST["test_c"])) $checked["test_c"][$_REQUEST["test_c"]]=" checked";
//select
if(isset($_REQUEST["test_d"])) $selected["test_d"][$_REQUEST["test_d"]]=" selected";
print <<<eof
<form>
<input type="checkbox" name="test_a" value="1"{$checked["test_a"]}>A
<input type="checkbox" name="test_b" value="1"{$checked["test_b"]}>B
<input type="radio" name="test_c" value="1"{$checked["test_c"][1]}>C-1
<input type="radio" name="test_c" value="2"{$checked["test_c"][2]}>C-2
<input type="radio" name="test_c" value="3"{$checked["test_c"][3]}>C-3
<select name="test_d">
<option value="">---</option>
<option value="1"{$selected["test_d"][1]}>D-1</option>
<option value="2"{$selected["test_d"][2]}>D-2</option>
<option value="3"{$selected["test_d"][3]}>D-3</option>
</select>
<input type="submit" value="go">
</form>
eof;
?>
複数選択のチェックボックスがある場合の方法をご存じの方いらっしゃいましたら、
是非ともご教授お願い致します。
複数チェックボックスは、
<input type="checkbox" name="bungu[0]" value="鉛筆" >鉛筆
<input type="checkbox" name="bungu[1]" value="定規" >定規
<input type="checkbox" name="bungu[2]" value="色鉛筆" >色鉛筆
<input type="checkbox" name="bungu[3]" value="ペン" >ペン
<input type="checkbox" name="bungu[4]" value="絵具" >絵具
<input type="checkbox" name="bungu[5]" value="ハサミ" >ハサミ
<input type="checkbox" name="bungu[6]" value="ボールペン" >ボールペン
というようなものを利用しています。
No.2ベストアンサー
- 回答日時:
>リセットボタンはjavascriptにされてますか??
「リセット」というのは・・・
「初期値にもどす」ことと「データが空の状態にする」
の二重の意味をもちます。
前者であれば
<input type="reset" value="reset">
でやるのが正しいでしょう。
後者であれば考え方がいろいろありますが私の場合は
<input type="submit" value="reset" name="s">
のように名前付きのsubmitをして
<?PHP
if($_REQUEST["s"]=="reset") header("Location:{$_SERVER['SCRIPT_NAME']}");
?>
のようにしてパラメータなしで自分をよみなおします。
(もちろん場合によってはjavascriptでやるのも有効でしょうけど)
>"0"が頭にくると動作しない
うーん・・・
<option value="01"{$selected["month_kara"]["01"]}>01</option>
とクォーテーションでくくればよくないですか?
ありがとうございます!!
今回のリセットは、「データが空の状態にする」という状態が正しいです!!
前者の場合、初期値イコールselectedした値になるようでしたので。
コードまで明記いただき、ありがとうございます!!
"0"の件についても、補足ありがとうございました!!
今回は0を消すことで解決しましたが、多分今後必要になりそうなので…補足いただき大変助かりました!!
本当、ご丁寧に回答いただき今回の質問+αのことが解決できました!!
ありがとうございました!!
No.1
- 回答日時:
あぁ、ちょっと気にはなっていたんですが、やっぱりそこも必要でしたか・・・
ちょっとした応用でいけます。
(ちなみにinputにつかうnameにはキーをふらなくてもPHPが勝手に
判断してくれます)
<?
if(is_array($_REQUEST["bungu"])){
foreach($_REQUEST["bungu"] as $val){
$checked["bungu"][$val]=" checked";
}
}
print <<<eof
<form>
<input type="checkbox" name="bungu[]" value="鉛筆"{$checked["bungu"]["鉛筆"]}>鉛筆
<input type="checkbox" name="bungu[]" value="定規"{$checked["bungu"]["定規"]}>定規
<input type="checkbox" name="bungu[]" value="色鉛筆"{$checked["bungu"]["色鉛筆"]}>色鉛筆
<input type="checkbox" name="bungu[]" value="ペン"{$checked["bungu"]["ペン"]}>ペン
<input type="checkbox" name="bungu[]" value="絵具"{$checked["bungu"]["絵具"]}>絵具
<input type="checkbox" name="bungu[]" value="ハサミ"{$checked["bungu"]["ハサミ"]}>ハサミ
<input type="checkbox" name="bungu[]" value="ボールペン"{$checked["bungu"]["ボールペン"]}>ボールペン
<input type="submit" value="go">
</form>
eof;
?>
この回答への補足
早速ご回答をもとに使わせていただきました!!
無事動作もして、大変満足しております♪♪
>>(ちなみにinputにつかうnameにはキーをふらなくてもPHPが勝手に
判断してくれます)
おぉ、こんな豆知識(?)知らずにずっとキーふってたので、感動しました!!
補足というか、更に質問になってしまいますが、
リセットボタンはjavascriptにされてますか??
いじってて気づいたのですが、value=数字の時に、
<option value="01"{$selected["month_kara"][01]}>01</option>
"0"が頭にくると動作しないこともわかりました!!
あ、ありがとうございます!!!
本当、何とお礼言っていいのかわかりませんが、
本当に助かりました!!!
これから試させていただきます!!
先にお礼を伝えたかったので・・・失礼します!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
検索時の選択内容を保持する方法
-
phpやmysqlで作る簡易掲示板作...
-
画面が更新されてもチェックボ...
-
smartyでチェックボックスをチ...
-
phpでの複数選択チェックボック...
-
$_SESSIONについて教えて下さい。
-
集計結果をiframeの中に表示す...
-
PHPのソース内でのVodafone絵文...
-
PHPで画像の渡しが上手く行きま...
-
複数チェックボックスの入力制...
-
配列をhiddenで
-
syntax error, unexpected '}' ...
-
チェックボックスを使った複数...
-
リンクボタンについて(初心者で...
-
フォームのテキストボックスに...
-
$_POSTのインデックスについて...
-
<input type="hidden" >で配列...
-
テキストボックスに初期値を入れる
-
ラジオボタンを押すと、表示が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
<input type="hidden" >で配列...
-
PHP ボタンが押されたら処理を...
-
フォームへの前回入力値をクリ...
-
検索時の選択内容を保持する方法
-
PHPで画像の渡しが上手く行きま...
-
フォームボタンを押すたびに数...
-
syntax error, unexpected '}' ...
-
フォームでのリセットを使う方法
-
パラメーターを隠す
-
$_SESSIONについて教えて下さい。
-
ラジオボタンをsessionで使いたい
-
画面が更新されてもチェックボ...
-
phpの掲示板で新しい順に表...
-
PHPで、ボタンを押すと同じペー...
-
phpでの複数選択チェックボック...
-
PHPでじゃんけん勝負
-
チェックボックスを使った複数...
-
DBの値をチェックボックスに反...
-
PHPのmysqlに格納したデータの...
おすすめ情報