Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript将复选框数据表单提交到PHP_Javascript_Php_Form Data - Fatal编程技术网

Javascript将复选框数据表单提交到PHP

Javascript将复选框数据表单提交到PHP,javascript,php,form-data,Javascript,Php,Form Data,我使用javascript编写了一些代码,将复选框表单数据提交到PHP。但是php无法获取数据。以下是我的代码。提前谢谢 HTML代码: <form onchange="fetch()" method="post"> <input type="checkbox" name="formname[]" value="value1" /> <input ty

我使用javascript编写了一些代码,将复选框表单数据提交到PHP。但是php无法获取数据。以下是我的代码。提前谢谢

HTML代码:

<form onchange="fetch()" method="post">
    <input type="checkbox" name="formname[]" value="value1" />
    <input type="checkbox" name="formname[]" value="value2" />
</form>
<script>
    function fetch() {
        var data = new FormData(); 
        data.append("formname[]", document.getElementsByName("formname[]"));
        var xhr = new XMLHttpRequest();
        xhr.open("POST", "the url to php code", true); 
        xhr.send(data);

...
</script>
$result = $_POST['formname']
<script>
    function fetch() {
        var data = new FormData(document.getElementById("myform"));
        var xhr = new XMLHttpRequest();
        xhr.open("POST", "the url to php code", true);
        xhr.send(data);

...
</script>
$result = $_POST['formname']

AND I found the same result even using:
$result = $_POST['formname[]']

这是一个(稍微改变了一点)的示例,我认为(!)然后可以得到如下值: $res=$_POST[“复选框”]

const btn=document.querySelector('button');
函数sendData(数据){
const XHR=new XMLHttpRequest(),
FD=新FormData();
//将数据推送到FormData对象中
for(数据中的名称){
FD.append(名称、数据[名称]);
}
//定义成功提交数据时发生的情况
XHR.addEventListener('load',函数(事件){
警报(‘耶!数据已发送,响应已加载’);
} );
//定义发生错误时发生的情况
XHR.addEventListener('error',函数(事件){
警惕(‘哎呀!出问题了’);
} );
//提出我们的要求
open('POST','PHP file');
//发送FormData对象;自动设置HTTP头
XHR.send(FD);
}
btn.addEventListener('click',函数()
{sendData({CHECKBOX:document.querySelector(“input[type=CHECKBOX]”).value});
})
这是一个示例(稍作更改),我认为(!)然后可以得到如下值: $res=$_POST[“复选框”]

const btn=document.querySelector('button');
函数sendData(数据){
const XHR=new XMLHttpRequest(),
FD=新FormData();
//将数据推送到FormData对象中
for(数据中的名称){
FD.append(名称、数据[名称]);
}
//定义成功提交数据时发生的情况
XHR.addEventListener('load',函数(事件){
警报(‘耶!数据已发送,响应已加载’);
} );
//定义发生错误时发生的情况
XHR.addEventListener('error',函数(事件){
警惕(‘哎呀!出问题了’);
} );
//提出我们的要求
open('POST','PHP file');
//发送FormData对象;自动设置HTTP头
XHR.send(FD);
}
btn.addEventListener('click',函数()
{sendData({CHECKBOX:document.querySelector(“input[type=CHECKBOX]”).value});

})
非常感谢所有试图帮助我的人。我花了一个晚上,找到了解决问题的简单方法。解决方案是在表单中添加
id
元素,并在
FormData
元素中添加表单id

HTML代码

<form onchange="fetch()" method="post" id="myform">
    <input type="checkbox" name="formname[]" value="value1" />
    <input type="checkbox" name="formname[]" value="value2" />
</form>

非常感谢所有试图帮助我的人。我花了一个晚上,找到了解决问题的简单方法。解决方案是在表单中添加
id
元素,并在
FormData
元素中添加表单id

HTML代码

<form onchange="fetch()" method="post" id="myform">
    <input type="checkbox" name="formname[]" value="value1" />
    <input type="checkbox" name="formname[]" value="value2" />
</form>

var\u dump($result)
显示了什么?
onchange=“fetch()”
@u\u mulder Hello u\u mulder不正确,它显示为空。如果我使用表单操作,我可以提交表单,PHP代码也可以帮助我打印结果。javascript真的很烦人。@Yuan为什么要用javascript呢?你的
提交按钮在哪里?而
var\u dump($result)
显示了什么?
onchange=“fetch()”
@u\u mulder不正确,您好,u\u mulder,它显示为空。如果我使用表单操作,我可以提交表单,PHP代码也可以帮助我打印结果。javascript真的很烦人。@Yuan为什么要用javascript呢?你的
提交按钮在哪里?谢谢。这是另一种选择,但页面将被刷新。我的项目在页面上加载了一个地图,它很重。用户需要快速更改复选框选项,并看到不同的结果。因此不允许刷新页面。你有javascritp选项吗?@Yuan我改变了我的答案,希望这能奏效。。。(我不是这方面的专家…)谢谢。这是另一种选择,但页面将被刷新。我的项目在页面上加载了一个地图,它很重。用户需要快速更改复选框选项,并看到不同的结果。因此不允许刷新页面。你有javascritp选项吗?@Yuan我改变了我的答案,希望这能奏效。。。(我不是这方面的专家…)