問題 × 解決策

checkboxで最後の値しか受け取れない:配列として受け取る方法

  • 2020年08月12日
  • HTML

問題

checkboxで最後の値しか受け取れない…。

解決策

checkboxのname属性の値に「[]」を付け足すことで、値を配列として受け取ることができます。

 

checkboxでチェックした全ての値を受け取るには?

checkboxで最後の値しか受け取れない…。
それに対する対処法として、今回はcheckboxの値を配列化して受け取る方法をご紹介します。

checkboxのname属性の値に「[]」を付け足す。

checkboxのname属性の値に「[]」を付け足すことで、値を配列として受け取ることができます。
文字列がなければFALSEを返してくれます。

修正前

checkboxのname属性に「item」を設定しています。

<form method="post" action="">
	<input type="checkbox" name="item" value="check01" id="checkid01"> <label for="checkid01">チェック01</label><br>
	<input type="checkbox" name="item" value="check02" id="checkid02"> <label for="checkid02">チェック02</label><br>
	<input type="checkbox" name="item" value="check03" id="checkid03"> <label for="checkid03">チェック03</label>
</form>

修正後

checkboxのname属性「item」に「[]」を付け足して、「item[]」に修正しています。

<form method="post" action="">
	<input type="checkbox" name="item[]" value="check01" id="checkid01"> <label for="checkid01">チェック01</label><br>
	<input type="checkbox" name="item[]" value="check02" id="checkid02"> <label for="checkid02">チェック02</label><br>
	<input type="checkbox" name="item[]" value="check03" id="checkid03"> <label for="checkid03">チェック03</label>
</form>

参考ページ

以下のサイトが、より詳しく解説してくれています。

【【PHP】チェックボックスの値を受け取る – Qiita】
https://qiita.com/4cres/items/26154314959dcccbfd34

【checkboxの値を複数postする方法 | SeekNext合同会社(シークネクスト)】
https://seeknext.co.jp/frontend/checkbox-post/

コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

20 + 1 =

「問題 × 解決策」
月別アーカイブ一覧

「問題 × 解決策」
月別アーカイブ一覧