gpt4 book ai didi

php - 使复选框在未选中时返回 false

转载 作者:太空狗 更新时间:2023-10-29 15:04:52 25 4
gpt4 key购买 nike

我有一个看起来像这样的表格:

<form>
<input type"checkbox" name="checked[(unique_id)]">
<input type"checkbox" name="checked[(unique_id)]">
<input type"checkbox" name="checked[(unique_id)]">
<input type"checkbox" name="checked[(unique_id)]">
</form>

复选框的数量会不时变化,因此在使用 PHP 处理这些数据时,我必须循环 _POST['checked'] 数组。

我的问题是我想在选中和未选中复选框时都采取行动。但只有选中的复选框才会添加到 _POST['checked'] 数组。

最佳答案

<form>
<input type="checkbox" key="1"/>
<input type="hidden" name="checked[1]" value="false">
<input type="checkbox" key="2"/>
<input type="hidden" name="checked[2]" value="false">
<input type="checkbox" key="3"/>
<input type="hidden" name="checked[3]" value="false">
<input type="checkbox" key="4"/>
<input type="hidden" name="checked[4]" value="false">
</form>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function () {
$('[key]').change(function () {
var key = $(this).attr('key');
$($('[name="checked[' + key + ']"]')).val($(this).is(':checked') ? 'true' : 'false');
});
});
</script>

这是我在做的

我正在使用两个输入,一个是没有名字的复选框,所以它不会被发送到 php, 另一个是隐藏的,不会显示给用户,但它将被发送到 php

然后使用 jquery,当用户选中该框时,jquery 将隐藏输入的值更改为 true,当取消选中时,它将值更改为 false

因此值将始终作为 string

以 true 或 false 的值发送到 php

你可以通过改变这个来改变你想发送给php的值.is(':checked')?'true':'false').is(':checked')?1:0) 发送 1 和 0 而不是 true 和 false

另一种溶液是rybo111溶液

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

它将发送两个选项,但如果复选框被选中,它将覆盖第一个选项

但它不是 100% 可靠的,它会向服务器发送更多数据

POSTing Form Fields with same Name Attribute 中阅读更多相关信息

所以如果你想使用没有 js 的简单解决方案,请使用“仅 html”如果您想要 100% 可靠的解决方案,请使用“js”

关于php - 使复选框在未选中时返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31098834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com