1

チェックされているチェックボックスのみが $_POST に入れられています。チェックされたものは $_POST に「true」の値があり、チェックされていないものは値が「false」になるようにしたいと思います。とにかくこれを行う方法はありますか、または POST リクエストには常にチェックされたチェックボックスに関する情報のみが含まれますか?

私が考えることができる唯一のことは、隠しフォームフィールドを使用し、チェックボックスでそれらを操作することです。

4

6 に答える 6

1

あなたが使用することができます

<input type="checkbox" name="myCheckbox" value="true" />
<input type="hidden" name="myCheckbox" value="false" />

次に、サーバーで入力を解析します。falseまたはのいずれかを取得します。true false前者はにマップされfalse、後者はにマップされますtrue

于 2012-05-02T19:38:43.147 に答える
1

チェックされていないチェックボックスとチェックされていないチェックボックスの値の転記を参照してください。

同名の隠しフィールドを追加することで可能です。

于 2012-05-02T19:37:54.970 に答える
0

サーバー側では、投稿データに設定されていない人はチェックされていないと想定できます。変数が設定されているかどうかを確認してください。

$_POST['a_checkbox'] = (isset($_POST['a_checkbox'])) ? 1 : 0;

およびtruefalseまたはデータベースが必要です。

于 2012-05-02T19:40:48.593 に答える
0

あなたはあなたのphpから行うことができます:

if(isset($_POST['checkbox'])||$_POST['checkbox']!="yes"){
    //other code here
}

または、送信されていないチェックボックスの値を送信する前に、隠し入力を追加するJavaScriptを使用できます

于 2012-05-02T19:38:32.677 に答える
0

ブラウザ依存なので無理です。

投稿されているかどうかを確認するには、

<?php
if (isset($_POST['checkbox1']))
{
    // it's posted
}

または使用!

<?php
if (!isset($_POST['checkbox1']))
{
    // it's NOT posted
}
于 2012-05-02T19:38:40.493 に答える
0

チェックされたチェックボックスのコンテンツのみが含まれます。それ以外の場合は、変数/配列を好きなように配線するフォームヘルパーまたは入力フィルターを使用して、それをエミュレートする必要があります。

このような機能には、フォームごとに使用するすべてのチェックボックスが必要であり、検出されたものを true に設定し、検出されなかったものを false のままにすることができます。

于 2012-05-02T19:36:51.170 に答える