基本上我可以得到适用于勾选方框的值(= 1),但是如果没有选中则无法让它发送默认值0。
<input type="checkbox" name="post_friend" value="1">
我已经四处搜索,有人建议设置一个隐藏的复选框,但它对我不起作用。
<input type="hidden" name="post_friend" value="0">
答案 0 :(得分:4)
你能不能做这样的事吗?
$checkbox = isset($_POST['post_friend']) ? $_POST['post_friend'] : 0 ;
因此,如果选中该复选框,则变量为1.如果不是,则变量赋值为0
答案 1 :(得分:1)
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.
但是,在这里,你应该真正评估你的输入是一个复选框,还是更合适的无线电输入。
答案 2 :(得分:0)
尝试以下内容
<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;
}
});
答案 3 :(得分:0)
HTML
<input type="checkbox" id="chkbox1">
Jquery的
if( $("#chkbox1").is(':checked')){
value = "True";
}else{
value= "False";
}
答案 4 :(得分:0)
唯一可能的解决方案是:
<?php
// if data is posted, set value to 1, else to 0
$check_0 = isset($_POST['check'][0]) ? 1 : 0;
$check_1 = isset($_POST['check'][1]) ? 1 : 0;
?>
如果要在同一页面上检查信息,请使用JS并检查NULL值...