Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.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
Php 使用jQueryAjax传递复选框数据_Php_Javascript_Jquery_Html_Forms - Fatal编程技术网

Php 使用jQueryAjax传递复选框数据

Php 使用jQueryAjax传递复选框数据,php,javascript,jquery,html,forms,Php,Javascript,Jquery,Html,Forms,我试图使用jQuery的.getJSON方法将所选复选框的值传递给PHP文件 问题:PHP文件似乎没有收到这些值。我正在使用print\u f查看PHP文件是否已收到表单数据。查看返回数据,PHP抛出的错误[未定义索引:]告诉我两个数组$dombery和$bathy未定义。我怎样才能让它工作 HTML代码 <form action="form_ajax.php" method="post"> <input type="checkbox" name="bedroom[]" v

我试图使用jQuery的
.getJSON
方法将所选复选框的值传递给PHP文件

问题:PHP文件似乎没有收到这些值。我正在使用
print\u f
查看PHP文件是否已收到表单数据。查看返回数据,PHP抛出的错误[
未定义索引:
]告诉我两个数组
$dombery
$bathy
未定义。我怎样才能让它工作

HTML代码

<form action="form_ajax.php" method="post">
  <input type="checkbox" name="bedroom[]" value="1">
  <input type="checkbox" name="bedroom[]" value="2">
  <input type="checkbox" name="bedroom[]" value="3">

  <input type="checkbox" name="bathroom[]" value="1">
  <input type="checkbox" name="bathroom[]" value="2">
  <input type="checkbox" name="bathroom[]" value="3">

  <input type="submit" id="button" value="submit!!!">
</form>
$(function() {

    $("#button").click(function(e) {
        e.preventDefault();
        var other_data = "hello";
        $.getJSON("form.php", {some-other-data: other_data, bedroom: bedroom[], bathroom: bathroom[]}, function(data) {
            console.log(data);
        });
    });

});
<?php

$bedroom = $_GET['bedroom'];
$bathroom = $_GET['bathroom'];

print_r($bedroom);
print_r($bathroom);
PHP代码

<form action="form_ajax.php" method="post">
  <input type="checkbox" name="bedroom[]" value="1">
  <input type="checkbox" name="bedroom[]" value="2">
  <input type="checkbox" name="bedroom[]" value="3">

  <input type="checkbox" name="bathroom[]" value="1">
  <input type="checkbox" name="bathroom[]" value="2">
  <input type="checkbox" name="bathroom[]" value="3">

  <input type="submit" id="button" value="submit!!!">
</form>
$(function() {

    $("#button").click(function(e) {
        e.preventDefault();
        var other_data = "hello";
        $.getJSON("form.php", {some-other-data: other_data, bedroom: bedroom[], bathroom: bathroom[]}, function(data) {
            console.log(data);
        });
    });

});
<?php

$bedroom = $_GET['bedroom'];
$bathroom = $_GET['bathroom'];

print_r($bedroom);
print_r($bathroom);

根据jQuery文档,数据作为查询字符串变量传递,因此我建议您尝试使用
$\u GET

$bedroom = $_GET['bedroom'];
$bathroom = $_GET['bathroom'];
编辑,如何将所有表单数据发送到php文件:

如果向表单标记添加id属性,可以很容易地使用jQuery序列化表单,如下所示,并将其作为
$.getJSON()中的数据对象传递:


然后,所有选中的复选框都应传递到PHP文件。

根据jQuery文档,数据作为查询字符串变量传递,因此我建议您尝试使用
$\u GET

$bedroom = $_GET['bedroom'];
$bathroom = $_GET['bathroom'];
编辑,如何将所有表单数据发送到php文件:

如果向表单标记添加id属性,可以很容易地使用jQuery序列化表单,如下所示,并将其作为
$.getJSON()中的数据对象传递:


然后,您选择的所有复选框都将传递到PHP文件。

太好了,谢谢。现在我不知道如何将选中复选框的值发送到PHP文件请参阅我编辑的答案,了解如何使用jQuery序列化表单,以及如何通过调用传递所有数据。太好了,谢谢。现在我不知道如何将选中复选框的值发送到PHP文件请参阅我编辑的答案,了解如何使用jQuery序列化表单,如何通过调用传递所有数据。我认为getJSON用于从服务器获取数据,而不是发送itI。我想发送一些数据,并以JSON格式获取结果。在这种情况下,我仍然可以使用
getJSON
吗?是:)数据在getJSON函数的第二个参数中发送,并且应该在PHP$\u GET对象中可见。如果您仍然有问题,请检查JSON语法。我认为getJSON用于从服务器获取数据,而不是发送itI。我想发送一些数据,并以JSON格式获取结果。在这种情况下,我仍然可以使用
getJSON
吗?是:)数据在getJSON函数的第二个参数中发送,并且应该在PHP$\u GET对象中可见。如果仍然有问题,请检查JSON语法。