У меня есть ситуация, когда мне нужно неконтролируемое значение переключателя. Можно ли отправить неконтролируемое значение переключателя через форму в php? Если да, то можете ли вы объяснить это?
<input type="hidden" name="myField" value="false" /> <input type="checkbox" name="myField" value="true" />
оба поля имеют одинаковое имя, если флажок не установлен, скрытое поле будет отправлено, если флажок установлен, он фактически переопределит скрытое поле.
С другой стороны, ваши правильные переключатели не будут лучше соответствовать вашим потребностям, вы сможете увидеть определенный ответ для каждого вопроса, в то время как флажки больше для представленных только выбранных флажков. В противном случае вы всегда можете предположить, что все флажки, которые не были отправлены как отмеченные, можно было считать неконтролируемыми.
Создайте файл sample.php и вставьте ниже кода и запустите его.
<?php echo "<pre>"; if(isset($_POST['numbers']) && isset($_POST['unchecked'])) { $checked_items = $_POST['numbers']; $unchecked_items = array_diff($_POST['unchecked'],$_POST['numbers']); echo 'Checked Item<br/>';print_r($checked_items); echo '<br/><br/>Unchecked Items<br/>';print_r($unchecked_items); } ?> <form name='frmname' action='' method='post'> <input type='radio' name='numbers[]' value='one'/>One <input type='radio' name='numbers[]' value='two' />Two <input type='radio' name='numbers[]' value='three' />Three <input type='hidden' name='unchecked[]' value='one' /> <input type='hidden' name='unchecked[]' value='two' /> <input type='hidden' name='unchecked[]' value='three' /> <input type='submit' name='submit' value='Submit' /> </form>
Я решил это. Я отправил оба значения переключателя в скрытое поле, а также значения переключателя. При получении страницы, я сравнил проверенное значение со скрытым значением поля, и поэтому я получил непроверенное значение. Спасибо всем, кто ответил на мой вопрос.