![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
昨日こちらの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で質問しましょう!
似たような質問が見つかりました
- PHP $_SESSIONについて教えて下さい。 2 2023/03/02 09:18
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
Javascript→PHPに...
-
<input type="hidden" >で配列...
-
PHPの関数実行
-
PHPでテスト形式のプログラムを...
-
チェックボックスのvalueを連結...
-
変数の書き方について
-
phpのメールフォームについて。
-
extract($_POST)
-
checkboxの初期値設定(postの時)
-
フォームの内容をクッキーに保...
-
チェックボックスを使った複数...
-
PHP/SQL 更新フォーム エラーに...
-
【HTML(PHP?)】複数のフォーム...
-
POSTやGETの変数をフォーム無し...
-
フォームでのリセットを使う方法
-
PHP insert文内での、変数の記...
-
php データベース更新
-
現在は、ID別に一覧ずつ修正を...
-
テキストフォームからの受け取り
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
<input type="hidden" >で配列...
-
PHP ボタンが押されたら処理を...
-
検索時の選択内容を保持する方法
-
PHPで画像の渡しが上手く行きま...
-
フォームでのリセットを使う方法
-
入力フォーム→確認画面→送信画...
-
PHPでユーザー情報を入力して簡...
-
syntax error, unexpected '}' ...
-
PHPで、ボタンを押すと同じペー...
-
フォームへの前回入力値をクリ...
-
フォームボタンを押すたびに数...
-
Javascript→PHPに...
-
PHPとHTML+Xamppの掲示板で画像...
-
チェックボックスによる検索
-
PHPでCookieを使った訪問回数に...
-
PHPの関数実行
-
DBの値をチェックボックスに反...
-
ラジオボタンをsessionで使いたい
-
【HTML(PHP?)】複数のフォーム...
おすすめ情報