PHPでチェックボックス情報を受け取る方法

WBOY
リリース: 2016-06-21 08:57:09
オリジナル
806 人が閲覧しました

PHP は、同じ名前のチェックボックス情報を複数受け取った場合に、ASP のように情報を自動的に配列に変換しないため、使用する際に多少の不便があります。しかし、JavaScript を使用して前処理を行うという解決策はまだあります。

同じ名前の複数のチェックボックスが JavaScript の配列形式で存在するため、フォームを送信する前に、JavaScript を使用してチェックボックス内の情報を文字配列に結合し、それをフォーム内の非表示要素に割り当てることができます。を使用して、チェック ボックス情報を転送できるように、PHP のexplode関数がこの配列を解析します。以下に例を示します。

次のようなフォームがあるとします:


<input type="checkbox" name="item" value="1">1<br>
<input type="checkbox" name="item" value="2">2<br>
<input type="checkbox" name="item" value="3">3<br>
<input type="checkbox" name="item" value="4">4<br>
<input type="hidden" name="items" value="">
<input type="submit" value="Submit">
</form>

このフォームには 4 つのチェックボックスがあり、その名前はすべて項目です。ユーザーが [送信] ボタンをクリックすると、Checker 関数が呼び出され、Checker が true を返した場合はフォームが送信され、false を返した場合はフォームが送信されます。は提出されません。ここでの Checker 関数は、これから作成する前処理関数です。 HTML のヘッダー セクションに次の JavaScript を追加します:


<!--
関数 Checker()
{
form1.items.value = ""
; if ( !form1.item.length ) // チェックボックスは 1 つだけあります、form1.item.length = unknown
{
if (form1.items.checked)
form1.items.value = form1.item.value
}
それ以外
{
for ( i = 0 ; i {
if (form1.item(i).checked) // チェックボックスにチェックが入っています
{
form1.items.value = form1.item(i).value
for ( j = i + 1 ; j {
if ( form1.item(j).checked )
{
form1.items.value += " " //区切り文字としてスペースを使用します
; form1.items.value += form1.item(j).value
}
}
休憩
}
}
}
true を返します。
}
-->
</script>

このようにして、選択したすべてのチェックボックスの値を文字列配列に結合できます。myPHP.php で次のステートメントを使用します。

$items =explode(" ", $HTTP_POST_VARS["items"]);

これらのオプションを配列に分割できます。オプションの値には区切り文字 (ここではスペース) を含めることはできないことに注意してください。



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート