基本上我可以得到的值适用于框勾选(= 1),但我不能让它发送默认值为0时未检查。试图设置默认复选框的值,如果不选中
<input type="checkbox" name="post_friend" value="1">
我搜索了四周,有人建议设置一个隐藏的复选框,但它不适合我。
<input type="hidden" name="post_friend" value="0">
基本上我可以得到的值适用于框勾选(= 1),但我不能让它发送默认值为0时未检查。试图设置默认复选框的值,如果不选中
<input type="checkbox" name="post_friend" value="1">
我搜索了四周,有人建议设置一个隐藏的复选框,但它不适合我。
<input type="hidden" name="post_friend" value="0">
你不可以这样做吗?
$checkbox = isset($_POST['post_friend']) ? $_POST['post_friend'] : 0 ;
因此,如果该复选框被选中,变量是1。如果不是,0
工作完美,谢谢! – user2571547
与此问题,是你可能不知道未经检查的领域的名称。我有类似的问题,根据用户数据,复选框的ID可能会有所不同。我可以知道提交后检查了哪些复选框(它们的id),但我不知道(直接)其他复选框在那里并且未经检查,所以我无法在数据库上更新它们。 – DiegoDD
变量分配的值尝试类似下面
<div class="col-xs-5 drinkingLeft">
<input type="checkbox" name="beer" id="beer"class="require-one col-xs-1" value="0"/>
<input id='beerHidden' type='hidden' value='0' name='beer'>
<label for="beer" class="col-xs-10">Beer </label>
</div>
$('#beer').on('change', function() {
this.value = this.checked ? 1 : 0;
}).change();
$("#submit").click(function() {
if(document.getElementById("beer").checked){
document.getElementById('beerHidden').disabled = true;
}
});
这是由OP给出的原始方法应该有效,但是,价值可能会有所不同。
例如,
<input type="checkbox" name="post_friend" value="1">
<input type="hidden" name="post_friend" value="0">
在这种情况下["post_friend"] = 0
。
然而,在这个例子:
<input type="checkbox" checked="checked" name="post_friend" value="1">
<input type="hidden" name="post_friend" value="0">
大多数浏览器将发送["post_friend"] = "1,0"
。 通常会在http请求中连接相同属性的多个值。
为此,您可以使用String.Contains找到1
然而,在这里,你应该评估你的输入是否应该是一个复选框,或者更合适,无线电输入。
HTML
<input type="checkbox" id="chkbox1">
jQuery的
if($("#chkbox1").is(':checked')){
value = "True";
}else{
value= "False";
}
你把隐藏输入复选框前? –
未发送复选框不发送 – Musa
为什么您将此标记为PHP/mySQL? –