这是我在 Ajax(或 Jquery)中的第一次编程经验,所以我感谢任何形式的帮助。我想要做的是我的 html 表单中有 2 个选择输入,当第一个选择被更改(onchange)时,我想要它的值来使用它来过滤 php 中的第二个选择以动态生成它的选项,那必须在没有提交整个表单的情况下发生,只有第一个选择。我尝试了以下代码,但是每当第一个选择更改时,它都会提交整个表单。ajax函数:
function showKadaa(str)
{
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
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("kop").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","annonce.php?mid="+str,true);
xmlhttp.send();
}
带有 php 的 html 代码部分:
<?php if(isset($_GET['mid']))
$q=$_GET['mid'];
else $q=$_SESSION['mid'];?>
//code goes here
<tr><td>Kadaa:</td><td><div id="kop"><select name="kadaa" id="kad" ><option value="default">[Choisir Kadaa]</option>
<?php
if(login_db()){
$req="SELECT `nom_kadaa`,`id` FROM `kadaa` WHERE `id_mohafaza`=".$q."";
echo $req;
$kadaa="";
if($res=mysql_query($req)){
while($l=mysql_fetch_array($res)){
echo "<option value=".$l[1].">".$l[0]."</option>";
}
}
}
?>
</select></div></td></tr>
PS:无论我把 id="kop"
的 div 放在哪里,整个页面都会在其中提交。我在同一页面上使用两个选择的另一件事
form action="<?php echo $_SERVER['PHP_SELF'];?>