0

我对此非常接近,但努力让我的动态 php 和 Javascript 一起工作。这也是我所在的地方。

<script language="javascript" type="text/javascript">

    function exefunction(id){

    if (document.getElementById(id).checked == true) {
        // Create our XMLHttpRequest object
        var hr = new XMLHttpRequest();
        // Create some variables we need to send to our PHP file
        var url = "update.php";
        var id = document.getElementById(id).value 
        var check = 1;
        var vars = "id="+id+"&check="+check;
        hr.open("POST", url, true);
        // Set content type header information for sending url encoded variables in the request
        hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        // Access the onreadystatechange event for the XMLHttpRequest object
        hr.send(vars); // Actually execute the request
    }

                    else if (document.getElementById(id).checked == false){
                        // Create our XMLHttpRequest object
        var hr = new XMLHttpRequest();
        // Create some variables we need to send to our PHP file
        var url = "update.php";
        var id = document.getElementById(id).value 
        var check = 0;
        var vars = "id="+id+"&check="+check;
        hr.open("POST", url, true);
        // Set content type header information for sending url encoded variables in the request
        hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        // Access the onreadystatechange event for the XMLHttpRequest object
        hr.send(vars); // Actually execute the request

                }
            </script>

我的 php 检查数据库并相应地自动检查复选框:

if ($checkboxone == 1){
$Trans .='<td width="60">
<input id="'.$id.'" type="checkbox" onClick="exefunction(this.id)" value="'.$id.'" checked /></td>'; 
}else{
$Trans .='<td width="60"><input id="'.$id.'" type="checkbox" onClick="exefunction(this.id);" value="'.$id.'" /></td>'; 
}

我需要做的是,当检查或未选中一个tick框时,它会更新我的数据库时,我所遇到的问题是通过我的JavaScript传递复选框的唯一ID。如果我输入 id 并有一个复选框,javascript 就可以工作。

希望这是有道理的。

4

0 回答 0