我正在尝试使以下工作:我想将下拉菜单问题的答案发送到 php 脚本,这反过来又会给我从数据库中返回一个新的选择。然后我想使用这个新选择来更改辅助下拉菜单中的可用输入选项
最终目标是通过提供初步限制(选择您的城市)将选择选项从大约 200 个(日托中心)限制到大约 15 个
供参考“gem(ente)”是直辖市
剥离了我到目前为止的 javascript/ajax 部分是这样的:
function loadXMLDoc(str) {
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("gemeente").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","http:www.doenwatikkan.nl/jeroen/dynamic.php",true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send(gem);
alert(gem)
}
php部分是这个
<?php
include 'dbconnection.php';
$gem=$_POST["gem"];
$gennam=mysql_query("SELECT * FROM psz WHERE Gemeente='$gem'");
echo "ik ben in dit php script geweest";
$test="willekeurige string";
?>
相关的 html/php 部分如下:
<select name="pszplaats" id="gemeente" onchange="fdisplay();loadXMLDoc(this.value)">
<?php while($row=mysql_fetch_array($selectgem)){?>
<option value="<?php echo $row['Gemeente']; ?>"><?php echo $row['Gemeente'];?>
</option>
<?php } ?>
</select>
<select name="psznaam" id="test" style="display:none">
<?php while($row=mysql_fetch_array($gennam)){?>
<option value="<?php echo $row['NaamPSZ']; ?>"><?php echo $row['NaamPSZ'];?>
</option>
<?php } ?>
</select>
javascript 中的 alert(gem) 部分有效,因此如果人们选择 minucupality 选项,它会显示在屏幕上,但 php 部分中的“echo”没有显示任何内容,所以我认为 ajax 看起来不在我的 php 中正确。
谁能告诉我我犯了什么愚蠢的错误,因为我无法弄清楚。提前致谢!