Я только начинаю изучать интернет-программирование.
После обхода флажками я обнаружил, что это происходит только тогда, когда флажок установлен, что он передает значение 'on'.
Почему бы не отправить значение "off"?
Я только начинаю изучать интернет-программирование.
После обхода флажками я обнаружил, что это происходит только тогда, когда флажок установлен, что он передает значение 'on'.
Почему бы не отправить значение "off"?
Я думаю, это должно быть для краткости передачи. Каждый запрос на сервер отправляется "по кабелю", если у вас есть страница с тысячами флажков на нем, вы обнаружите, что количество данных, чтобы сообщить серверу, что "этот флажок выключен", на самом деле довольно значителен (видя как вам нужно будет отправить NAME из каждого элемента флажка, который может содержать до мегабайта информации, что замедлит работу всего пользователя и интернет вниз).
В то время как на самом деле вы знаете, что он отключен, потому что он не отправляется - так что нет необходимости его отправлять.
Возможно иметь много флажков с одним и тем же именем элемента:
<form action="order.php" method="get">
<p>
<label><input type="checkbox" name="toppings" value="olives"/>Olives</label>
<label><input type="checkbox" name="toppings" value="mushrooms"/>Mushrooms</label>
<label><input type="checkbox" name="toppings" value="onions"/>Onions</label>
<label><input type="checkbox" name="toppings" value="eggplant"/>Eggplant</label>
etc...
</p>
<p><input type="submit" value="Submit"/></p>
</form>
Впоследствии URL-адрес будет включать только проверенные значения и будет выглядеть примерно так:
order.php?toppings=mushrooms&toppings=onions&toppings=eggplant
Это не сработало бы, если бы было отправлено значение "off".
Состояние по умолчанию "unchecked" (или выключено, когда вы его укажете), поэтому нет необходимости объявлять эту информацию.
Как типичный для булевых значений, он предположил. Это просто проверить, однако, просто зависит от вашего языка выбора. Используемый PHP в качестве демонстрации можно проверить:
$myvar_enabled = (isset($_GET['myvar']) && $_GET['myvar'] == 'on');