首页 > 解决方案 > 如何使用ajax获取复选框变量?

问题描述

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

我正在使用以下代码,输出只是“image_name 为空”。

<input type="checkbox" id="<?php echo $i ?>" class="checkbox" value="some_image.jpg" name="image_name[]"/>

<button type="button" onClick="rename_image()" class="button_class" name="rename" id="rename" value="rename">Rename</button>

和js:

function rename_image() 
{
    var button = document.getElementById('options_menu_details');
    {
        var div = document.getElementById('show_options_rename'); // display select_show
        if (div.style.visibility == 'hidden') 
        {
            div.style.visibility = 'visible';
            $.ajax
            (
                {
                    url:"test4.php",
                    type: "GET",
                    data: {func: 'toptable'},
                    success:function(result)
                    {
                        alert(result);
                    }
                }
            );
        }
        else 
        {
            div.style.visibility = 'hidden';
        }
    }

}

和 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 是否真的 GET image_name[] 还是我遗漏了什么?发生的情况是用户选中复选框,然后单击“重命名”按钮。但是 ajax 似乎没有选择复选框,我想要它。

提前致谢。

标签: javascriptphpajax

解决方案


如果我们查看jQuery $.ajax() 文档,我们可以看到该data标签包含您想要通过 GET 请求发送的所有内容。您现在与 GET 请求一起发送的唯一内容是 ?func=toptable。

您将希望将复选框的值添加到其中,我会工作的。

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


推荐阅读