Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.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 如何使用ajax获取复选框变量?_Javascript_Php_Ajax - Fatal编程技术网

Javascript 如何使用ajax获取复选框变量?

Javascript 如何使用ajax获取复选框变量?,javascript,php,ajax,Javascript,Php,Ajax,我有一个复选框,当选中该复选框时,该值可以通过$\u GET['image\u name']检索。它在我的其他php代码中工作,但我在使用ajax时遇到了一些问题。一定很简单。它不是“获取”image_name变量(它是一个数组) 我正在使用下面的代码,输出只是“image\u name为空” 以及php文件test4.php: <?php //test4.php function toptable() { echo 'toptable'; } if(empty($_GET['i

我有一个复选框,当选中该复选框时,该值可以通过$\u GET['image\u name']检索。它在我的其他php代码中工作,但我在使用ajax时遇到了一些问题。一定很简单。它不是“获取”image_name变量(它是一个数组)

我正在使用下面的代码,输出只是“image\u name为空”

以及php文件test4.php:

<?php //test4.php
function toptable()
{
    echo 'toptable';
}

if(empty($_GET['image_name']))
{
    echo '<div class="refto" id="refto">image_name is empty</div>';
}
else
{
    foreach($_GET['image_name'] as $rowid_rename)
    {
        echo '<div class="refto" id="refto">image_name is NOT empty</div><br>';

    }
}       
echo "test";


?>

ajax真的得到了图像名称[]还是我缺少了什么?用户选中复选框,然后单击“重命名”按钮。但是ajax似乎没有注意到这个复选框,我希望它这样做

提前谢谢

如果我们查看,我们可以看到
数据
标记包含您希望随GET请求发送的所有内容。您现在发送GET请求的唯一内容是?func=toptable

您将希望将复选框的值添加到该值中,我将继续工作


对于调试此类问题,开发人员控制台非常方便(尤其是网络选项卡)

在我的HTML页面上,我定义了一个javascript函数,该函数采用数组的基本名称并对其进行处理(请注意,我将它们存储在一个由冒号分隔的DB中的一个字段中,因此我将它们全部转换为一个大字符串以发送到处理PHP脚本)——

函数保存复选框(cbref){
var myVal=“”;
toSave=document.forms['formName'].elements[cbref];

对于(j=0;j我需要修改以下行:

data: {func: 'toptable'},
为此:

data: $('form').serialize(),

serialize似乎从表单中收集
信息,并将其处理为PHP可以获取的格式,例如,我的$GET['image\u name']正在工作。如果我错了,请纠正我。

$。ajax对页面中的元素一无所知。您需要告诉它基于这些元素发送什么数据。使用
serialize()
非常有帮助,我该怎么做?我该如何在ajax中传递数据,例如var
pass_data={'':“image_name[]”
?我如何将其添加到ajax请求中?代码是什么样子的?这是我的第一个ajax程序。我读了那篇文章,但作为我编写的第一个ajax并不容易理解。没有示例说明如何添加$\u GET['image\u name']到代码。有人能告诉我应该写什么代码来传递复选框的值吗?谢谢。所以传递数据={'get\u image\u name':“$\u get['image\u name']”?或者类似的东西?我应该传递html的变量而不尝试使用php吗?我仍然不知道如何指示我希望js序列化的表单。例如
数据:$('form_1')。serialize(),
?有人知道如何分配表单id吗?
function SaveCheckboxes(cbref){

        var myVal="";

        toSave=document.forms['formName'].elements[cbref];
            for(j=0;j<toSave.length;j++){
                if(toSave[j].checked){
                    myVal+=":"+toSave[j].value;
                }
            }
            var pass_data = {
                'radioID' : "gened",
                'radioVal' : myVal,
            };

        $.ajax({
            url : "saveIt.php",
            type : "POST",
            data : pass_data,
            success : function(data) {
            }
        });
   return false;
}
        print("<input onClick=\"SaveCheckboxes('gened[]');\"");
        if(in_array($gened_courses[$i],$geneds)){print(" checked ");}
        print(" type=checkbox name=gened[] value=".$gened_courses[$i]."><font face=\"courier\">".$gened_courses[$i]."</font>: ".ucwords(strtolower($course_names[$gened_courses[$i]]))." <br />\n");
data: {func: 'toptable'},
data: $('form').serialize(),