我想更新有关复选框状态或值的数据库表。 我在下面从数据库中检索复选框状态。
当用户访问此页面时,会看到复选框的当前状态。
HTML
application.config(['$routeProvider','$httpProvider', '$locationProvider', function($routeProvider,$httpProvider, $locationProvider) {
$httpProvider.interceptors.push('AuthInterceptors');
}]);
我想在用户更改复选框状态时更新表而不刷新,所以我使用Ajax来POST数据;
<form name="financial_checks" method="post" action="cbchange.php" />
<input name="provision" type="checkbox" <?php if ($podata_provision == '1') echo "checked='checked'"; ?>/>
<input name="invoice" type="checkbox" <?php if ($podata_invoice == '1') echo "checked='checked'"; ?>/>
<input name="payment" type="checkbox" <?php if ($podata_payment == '1') echo "checked='checked'"; ?>/>
<button type="submit" name="updatebtn" id="btn" class="btn btn-info">Update</button>
</form>
(sendtoken是在HTML页面中检索的变量,也是我无法发布的)
cbchange.php
$.ajax( {
type: 'POST',
url: 'cbchange.php',
data: { provision:provision, invoice:invoice, payment:payment, sendtoken:sendtoken2},
} );
当我var_dump($ _ POST)结果与复选框选中或取消选中状态相关时。
$provision = $_POST['provision'];
$invoice = $_POST['invoice'];
$payment = $_POST['payment'];
$sendtoken = $_POST['sendtoken2'];
$query = " UPDATE podata SET provision = '".$provision."', invoice = '".$invoice."',payment = '".$payment."' WHERE token2 = '".$sendtoken."'";
$result = mysqli_query($connect, $query);
当用户更改复选框状态时,如何将数据发布为1或0?
答案 0 :(得分:0)
您可以设置输入的值属性。
<input name="provision" type="checkbox" value="1" <?php if ($podata_provision == '1') echo "checked='checked'"; ?>/>
因为只有在选中它时才能获取值,但是如果您希望它们为1或0,则停止发布复选框值并使用hidden
字段来保持状态并通过Jquery操作它们复选框状态变化事件。
看看这对你有帮助。