[英]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.