基本上我可以得到的值適用於框勾選(= 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? –