javascript - 如何使用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 似乎没有选择复选框,我想要它。
提前致谢。
解决方案
如果我们查看jQuery $.ajax() 文档,我们可以看到该data
标签包含您想要通过 GET 请求发送的所有内容。您现在与 GET 请求一起发送的唯一内容是 ?func=toptable。
您将希望将复选框的值添加到其中,我会工作的。
对于调试此类问题,开发者控制台非常方便(尤其是网络选项卡)!
推荐阅读
- javascript - 授权记录器逻辑
- r - 在 R 中,如何对不平衡的 2 类数据进行特征选择的平衡 10 倍 CV 信息增益测试?
- c++ - 如何在另一个结构向量中初始化一个结构向量?
- python - 未找到 MySQLdb 模块,但它位于 site-packages 文件夹中
- python - 如何使用 Python 和 WinHTTPRequest 下载二进制文件?
- arrays - 调用文件时 C 中的向量操作
- php - Symfony 5 缓存:不再在不存在的控制器上清除警告
- java - 标签在 ScrollPane 中未正确环绕文本
- javascript - 将上下文 API 类更改为 React 中的函数挂钩
- azure-functions - Azure Function 无法禁用功能