繁体   English   中英

PHP Ajax 请求,处理复选框值

[英]PHP Ajax Request, Handle checkboxes values

大家好我有一个数据数组,我想以 HTML 形式打印它(键入复选框)并收集检查值并将其添加到数据库中。 到目前为止,这是我的代码,PHP 代码

//data sample
<?php $testData = ['8966558555e55', '2655sd889s55', '555522d859dkd'] ?>
<form action="<?php $_SERVER['self']?>" id="register_form">

  <?php 
    foreach ($testData as $key => $id) {
        # print IDs
        echo '<input class="formVal" type="checkbox" name"test_delete[]" value="'.$id.'" >';
    }
  ?>
  <input type="submit" value="submit_now" onclick="addSubmitData(); return false;">
</form>

<script>
   function addSubmitData()
    {
        var elements = document.getElementsByClassName("formVal");
        var formData = new FormData(); 
        for(var i=0; i<elements.length; i++)
        {
            // Get checked value
            if (elements[i].checked) {
                formData.append(elements[i].value, elements[i].value);
            }
            
        }
        var xmlHttp = new XMLHttpRequest();
            xmlHttp.onreadystatechange = function()
            {
                if(xmlHttp.readyState == 4 && xmlHttp.status == 200)
                {
                    alert(xmlHttp.responseText);
                }
                
            }
            xmlHttp.open("post", "server.php"); 
            xmlHttp.send(formData); 
    }
</script>

PHP 文件

//php file, expet to get an array of data containg only checked values
<?php
if(isset($_POST["test_delete"])){
 $_IDs = $_POST["test_delete"];

//Expet array of inputs values
 print_r($_IDs);
 }
?>
//Result is Undefined index: test_delete

我该如何解决这些问题?

改变

formData.append(elements[i].value, elements[i].value);

formData.append("test_delete[]", elements[i].value);

您不小心将表单数据参数的名称设置为复选框的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM