這裏是HTML/JavaScript的:如何自動提交複選框
<form method = "post" style="display: inline;" name="thisform<?php echo $employee->id; ?>">
<input type="hidden" name="user" value="<?php echo $employee->id; ?>" />
<input type="hidden" name="auto" value="<?php echo $employee->stay_live; ?>" />
<h3><input type="checkbox" name="stay_live" onclick="document.forms.thisform<?php echo $employee->id; ?>.submit();" <?php if ($employee->stay_live == '1') { echo "checked"; } ?> title="Click to Stay Live Every Day" /> <?php echo $employee->name; ?>
</form>
這裏是PHP
:
<?php
if(isset($_POST['stay_live'])) {
$user=$_POST['user'];
$auto=$_POST['auto'];
if ($auto == 1) {
$sql = "UPDATE users SET stay_live = 0 WHERE id = '{$user}';";
}
if ($auto != 1) {
$sql = "UPDATE users SET stay_live = 1 WHERE id = '{$user}';";
}
mysqli_query($dbconnection, $sql);
}
?>
如果在表格看onclick
代碼,它會自動提交表單和做PHP POST
。但是,onclick
只適用於checkbox
未被選中。如果它被選中,屏幕會刷新,就像它做了事情一樣,但是POST永遠不會被提交。
所以總結一下;當盒子沒有被檢查並且需要設置時,所有東西都按預期工作。但是對於UNSET來說,服務器功能永遠不會被調用。任何人都能看到爲什麼
注:這是測試代碼,因此,請在SQL注入時,他們選中
這可以解決的jQuery,你可以利用它? – Mollo
@Mollo我有一些基本的中級知識。你會怎麼做? – KickingLettuce
給馬幾分鐘,我會添加我的回答 – Mollo