保存复选框的动态状态时遇到问题(Javascript,jQuery)

Having issues saving the dynamic state of a checkbox (Javascript, jQuery)

本文关键字:Javascript jQuery 问题 遇到 复选框 动态 状态 保存      更新时间:2023-09-26

我正在尝试制作一个表单,如果选中复选框,它允许您继续访问另一个网页,否则会提示您警报。

我的问题是该复选框不会动态保存状态。因此,每次选中复选框时,我都必须刷新页面才能进入下一个网页。我需要在我的代码中添加一些东西吗?我已经附加了javascript函数,更改SQL状态的PHP页面,以及我调用函数本身的行。

Javascript函数:

        //This function handles the clicking of checkboxes in the list
        //It sends an ajax POST message to a separate php file that handles the database updating
        function checkboxClicked(checkboxType, ticketNumber){
            $.ajax({
                type: "POST",
                url: 'updateCheckbox.php',
                dataType: 'json',
                data: {checkboxType: checkboxType, ticketNumber: ticketNumber},
                success: function(result, status){
                    if (status != "success"){
                        console.log("Status: " + status + ", Result: " + result);
                    }
                }
            });
        }

PHP 文件 (updatecheckbox.php)

<?php
header('Content-Type: application/json');
$conn = new COM("ADODB.Connection");
$strCnn = "Provider=sqloledb; Data Source=booty;Initial Catalog=booty;Trusted_Connection=Yes";
$conn->open($strCnn);
$strSQL  = "UPDATE tblScantronTickets SET ".$_POST['checkboxType']."=";
$strSQL .= "(SELECT ~".$_POST['checkboxType']." FROM tblScantronTickets WHERE TicketNumber=".$_POST['ticketNumber'].")";
$strSQL .= " WHERE TicketNumber=".$_POST['ticketNumber'];
try {
    $conn->Execute($strSQL);
}
catch(Exception $e) {
    echo json_encode($e);
}
echo json_encode("SUCCESS!");
?>

我调用函数的 PHP 行:

$strHTML .= "<td align='center'> <input type='checkbox' ".$received." class='receivedCheckbox' onchange='checkboxClicked('"Received'", ".$ticketNumber.")'/> </td>'n";

如果你的问题是在进入下一页之前获取复选框的状态,你可以使用 jQuery。

$('#checkbox').is(':checked');
如果选中,

这将返回 true,如果未选中,则返回 false。