Виталий Шебаниц Asked:2020-04-18 21:44:16 +0000 UTC2020-04-18 21:44:16 +0000 UTC 2020-04-18 21:44:16 +0000 UTC 复选框未在表单中提交值 772 如果chekbox未选中,则submit不会向表单传递任何值false。如何让它转移? html 2 个回答 Voted Best Answer user176262 2020-04-19T04:42:17Z2020-04-19T04:42:17Z <input type="checkbox" name="checkbox" value="true" /> <input type="hidden" name="checkbox" value="false" /> bool checked = Request.Form["checkbox"] != "false"; humster_spb 2020-04-19T04:16:08Z2020-04-19T04:16:08Z 不是直接的。如果未选中该复选框,则根本不会将其传递给服务器。例如,与空文本字段不同。这很容易通过发送一个空的 type="text" 和一个空的 type="checkbox" 来使用 isset 进行检查: <form action="" method="POST"> <input type="text" name="text" /> <input type="checkbox" name="checkbox" value="true" /> <input type="submit" name="submit" value="отправить" /> </form> <? if(isset($_POST['text'])) { echo "text_true"; //выведет "text_true": значения нету, но элемент в массиве $_POST есть } else { echo "text_false"; } if(isset($_POST['checkbox'])) { echo "check_true"; } else { echo "check_false"; //выведет "check_false", т.е. в принципе нету такого элемента в массиве $_POST } ?> 如果确实需要向服务器发送真/假复选框状态,可以在客户端检查并在隐藏字段中输入结果,并获取服务器上的隐藏值: <form action="" method="POST"> <input type="text" name="text" /> <input type="checkbox" name="checkbox" /> <input type="hidden" name="hidden" /> <input type="submit" name="submit" value="отправить" /> </form> $('form').submit(function(){ if(!$('[name="checkbox"]').prop('checked')) { $('[name="hidden"]').val(false); } else { $('[name="hidden"]').val(true); } }); <? echo $_POST['hidden']; ?>
不是直接的。如果未选中该复选框,则根本不会将其传递给服务器。例如,与空文本字段不同。这很容易通过发送一个空的 type="text" 和一个空的 type="checkbox" 来使用 isset 进行检查:
如果确实需要向服务器发送真/假复选框状态,可以在客户端检查并在隐藏字段中输入结果,并获取服务器上的隐藏值: