Как получить значение непроверенных и отмеченных флажков - PullRequest
0 голосов
/ 22 мая 2018

У меня есть список флажков и я хочу вернуть их значения при отправке.Я могу сделать это легко для проверенных, но не для непроверенных?Вот мой код:

Код для получения всех адресных книг и существующих адресных книг пользователя и вывода в виде флажков:

foreach ($ch2_response as $ab) {
    if ($ab['visibility'] == "Public") { 
        if (in_array($ab['name'], $userBooks)) { ?>
            <div class="checkbox">
                <label>
                    <input type="checkbox" checked="checked" name="addressBooks[]" value="<?php echo $ab['id']; ?>"><?php echo $ab['name']; ?>
                </label>
            </div>
     <?php   } else { ?>
             <div class="checkbox">
                <label>
                    <input type="checkbox" name="addressBooks[]" value="<?php echo $ab['id']; ?>"><?php echo $ab['name']; ?>
                </label>
            </div>
      <?php  }
    }
}

`
Код для проверки новых вариантов выбора пользователя:

<?php
if (isset($_POST['submit'])) {
    address_books();
}
function address_books() {
    $book = $_POST['addressBooks'];
    if (!isset($book)) {
        $N = count($book);

        echo("You did not select $N book(s): ");
        for ($i = 0; $i < $N; $i++) {
            echo($book[$i] . " ");
        }
    } else {
        $N = count($book);

        echo("You selected $N book(s): ");
        for ($i = 0; $i < $N; $i++) {
            echo($book[$i] . " ");
        }
    }
}

1 Ответ

0 голосов
/ 22 мая 2018

Вы не можете получить значения непроверенных флажков.Браузер не отправит их.

Вы можете добавить скрытое поле ввода с тем же именем перед каждым checkbox и присвоить ему нужное ложное значение.

<input type="hidden" name="addressBooks" value="0">
<input type="checkbox" name="addressBooks" value="1">

Если флажок снят, браузер отправляетскрытое значение для сервера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...