例えば以下のようなフォームがあるとき、
-----------------------------------------------------------------------------
<form name="f">
<input type="checkbox" name="group1" id="a" value="a"/><label for="a">a</label>
<input type="checkbox" name="group1" id="b" value="b"/><label for="b">b</label>
<input type="checkbox" name="group1" id="c" value="c"/><label for="c">c</label>
<input type="checkbox" name="group1" id="d" value="d"/><label for="d">d</label>
</form>
-----------------------------------------------------------------------------
javascriptでは、document.f.group1で配列として取得できるのですが、
phpでは、$_POST["group1"]では最後にチェックされている項目しか取得できません。
(つまり、phpでは複数選択されていても、一番後ろの1項目しか取得できません。)
少し調べるとphpで取得するには、
name属性値を、group1からgroup1[]とすれば配列として取得できるとありました。
しかしこれでは、javascriptの方でname属性値を使って取得できなくなってしまい、
document.f.getElementsByTagName("input")みたいな感じで取得することになると思います。
そもそも、name属性値に"["や"]"を使うことは良くないと思うので、
phpの方で何らかの方法があると思ったのですが、
最近勉強を始めたばかりの初心者なのでよくわかりませんでした。
今知っているphpに配列で渡す方法が、
「name属性値をgroup1[]のように配列にする」しか無いので、
他に方法があるならば教えてください。
質問の前提として、
1.name属性はフォーム内の項目のグループ化をしている?
2.name属性値に"["や"]"は仕様では使用可能な文字ではない?
1,2ともにYesだと思っています。
もし、この前提が間違っていたらご指摘ください。
質問内容を要約すると、
「checkboxをphpで配列で取得する方法はname属性値を配列にするしかないのですか?」
「他に方法があるなら教えてください」
です。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
JavaScript でも form.elements('group1[]') で取得できまっせ。
DOMScript では、elements から取得するのが書くのが正しい書き方です。
1.name属性はフォーム内の項目のグループ化をしている?
JavaScript では、name や id が重複した場合(本来ありえない)配列として返してくれる。
2.name属性値に"["や"]"は仕様では使用可能な文字ではない?
確かに仕様では、そうなってますね。
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- その他(プログラミング・Web制作) seleniumbasic chrome操作について 1 2023/03/29 15:40
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpでショッピングカート機能を...
-
VBA で、スペースを含むファイ...
-
PHPで入力フォームでデータを確...
-
Fortranでのファイル名操作につ...
-
if文のなかで
-
$a = ( $b == $c ) ? $d、 この...
-
phpのカウンタのリセット方法
-
PHPとHTML+Xamppの掲示板で画像...
-
PHPで画像の渡しが上手く行きま...
-
複数行のデータ一括更新に関して
-
POSTデータのNAME属性をVALUEに...
-
PHPでPCのローカル時刻は取得出...
-
POSTの値を配列として受け取っ...
-
IEで、フォームにたとえば
-
チェックボックスを用い、MySQL...
-
PHPでURLにジャンプするには?
-
フォームの途中で追加するには
-
POSTを使わずに値を渡す方法
-
フォームで作った送信ボタンが...
-
検索時の選択内容を保持する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
重複を防ぐ記述について教えて...
-
VBA で、スペースを含むファイ...
-
PHPで入力フォームでデータを確...
-
Flaskでサーバー立ち上げに関して
-
phpで変数を使ってcopyできない
-
ファイル名を変更してアップロ...
-
PHPからHTMLへの変数の受け...
-
$_SESSIONに渡した後はそのまま...
-
テキストボックスの値を取得したい
-
openCVのトラックバーについて
-
scanfでの読み込み文字数制限
-
アップロードファイル名の文字化け
-
PHP MySql 画像を取得
-
Fortranでのファイル名操作につ...
-
ポインタ配列をfscanfで読み込...
-
UPDATEできない
-
WordのIDataObject::GetData呼...
-
C# 同じ処理をまとめたい
-
POSTの項目に追加
-
イタリア人がCatherineと聞いた...
おすすめ情報