Javascript 如何使用ajax获取复选框变量?
我有一个复选框,当选中该复选框时,该值可以通过$\u GET['image\u name']检索。它在我的其他php代码中工作,但我在使用ajax时遇到了一些问题。一定很简单。它不是“获取”image_name变量(它是一个数组) 我正在使用下面的代码,输出只是“image\u name为空” 以及php文件test4.php: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
<?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中传递数据,例如varpass_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(),