【发布时间】:2015-01-27 05:22:14
【问题描述】:
目前我的依赖列表正在处理$_GET 请求。我正在尝试在 Ajax 中将 $_GET 请求转换为 $_POST 而无需重新加载表单。在头上我放了@$cat=$_GET['cat']; 我希望它像$_POST 和下面的ajax 脚本正在处理self.location 这意味着它从$_GET url 获取值。我希望下面的脚本像$_POST 一样工作,并且无需重新加载表单。任何帮助将不胜感激。
我在顶部的全局声明如下
@$cat=$_GET['cat'];
我的sql查询如下
<?php
# category and sub-category
$quer2="SELECT DISTINCT name,id FROM tblproductgroups order by name";
if(isset($cat) and strlen($cat) > 0){
$quer="SELECT DISTINCT sub_group_name,id FROM tblproductsubgroups where group_id=$cat order by sub_group_name";
}else{$quer="SELECT DISTINCT sub_group_name,id FROM tblproductsubgroups order by sub_group_name"; }
?>
我的 ajax 脚本如下
<SCRIPT language=JavaScript>
function reload(form)
{
var val=form.cat.options[form.cat.options.selectedIndex].value;
self.location='product-add.php?cat=' + val ;
}
function disableselect()
{
<?Php
if(isset($cat) and strlen($cat) > 0){
echo "document.myForm.subcat.disabled = false;";}
else{echo "document.myForm.subcat.disabled = true;";}
?>
}
</script>
我的依赖下拉列表如下
<?php
echo "<select name='cat' onchange=\"reload(this.form)\"><option value=''>Select one</option>";
$sql = mysqli_query($customCon, $quer2);
while ($row = mysqli_fetch_array($sql)) {
if($row['id']==@$cat){echo "<option selected value='$row[id]'>$row[name]</option>"."<BR>";}
else{echo "<option value='$row[id]'>$row[name]</option>";}
}
echo "</select>";
echo "<select name='subcat'><option value=''>Select one</option>";
$sql2 = mysqli_query($customCon, $quer);
while ($row2 = mysqli_fetch_array($sql2)) {
echo "<option value='$row2[id]'>$row2[sub_group_name]</option>";
}
echo "</select>";
?>
【问题讨论】:
-
您的 AJAX 脚本未使用 AJAX。您需要使用
XMLHttpRequest。 -
@Barmar 你能告诉我如何使用 XMLHttpRequest 吗?
-
网络上有数百个教程,所以我不会浪费我的时间。
-
@Barmar 我在这里寻求帮助。如果网络上有数百个教程而不是您在 stackoverflow 上浪费时间的原因,那么您在这里是为了帮助或告诉初学者上网浏览教程。
-
我们在这里帮助您修复代码,而不是为您编写代码。您应该学习基础知识,然后尝试编写代码。如果您无法正常工作,我们很乐意帮助您解决问题。
标签: javascript php mysql ajax