php と ajax を使用してデータベースから取り込まれる 2 つのドロップダウン ボックスを作成しようとしています。最初のドロップダウン ボックスには 1 つの選択肢しかありませんが、それを選択すると、2 番目のドロップダウン ボックスに、データベースから取得された私の学校のさまざまな学部が表示されます。部門を選択すると、その部門のすべてのコースが 3 番目のドロップダウン ボックスに表示されます。現在、すべての部門を入力するドロップダウン ボックスを取得しようとしていますが、クリックしても何も入力されません。ドロップダウンボックスに部門名を書き込むループに問題があると思います。これが私のコードです
index.php
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<script language="javascript" type="text/javascript">
function getXMLHTTP() { //function to return the xml http object
var xmlhttp=false;
try{
xmlhttp=new XMLHttpRequest();
}
catch(e) {
try{
xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e1){
xmlhttp=false;
}
}
}
return xmlhttp;
}
function getDept() {
var strURL="findDept.php";
var req = getXMLHTTP();
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
document.
getElementById("deptdiv").
innerHTML=req.responseText;
} else {
alert("There was a problem " +
"while using XMLHTTP:\n" + req.statusText);
}
}
}
req.open("GET", strURL, true);
req.send(null);
}
}
function getCourse(deptId) {
var strURL="findCourse.php?dept="+deptId;
var req = getXMLHTTP();
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
document.
getElementById('coursediv').
innerHTML=req.responseText;
} else {
alert("There was a problem " +
"while using XMLHTTP:\n" + req.statusText);
}
}
}
req.open("GET", strURL, true);
req.send(null);
}
}
</script>
</head>
<body bgcolor= 'red' >
<p>
<font size="8" face="arial"
color="black">WELCOME TO SCHEDULE BUILDER</font>
</p>
<form method="post" action="" name="form1">
<table width="60%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width = "150">Semester</td>
<td width="150">
<select name="semester onChange="getDept()">
<option value="">Select Semester</option>
<option value ="1">Spring 2012</option>
</select>
</td>
</tr>
<tr style="">
<td>Department</td>
<td >
<div id="deptdiv">
<select name="department">
<option>Select Department</option>
</select>
</div>
</td>
</tr>
<tr style="">
<td>Course</td>
<td >
<div id="coursediv">
<select name="course">
<option>Select Department First</option>
</select>
</div>
</td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
</form>
</body>
</html>
findDept.php
<?
$link = mysql_connect("sql2.njit.edu", "sk442_proj", "jZ1MOA0X");
if (!link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("sk442_proj");
$query="SELECT abbrev FROM department";
$result=mysql_query($query);
?>
<select name="department" onchange="getCourse(this.value)">
<option>Select Department</option>
<? while($row=mysql_fetch_array($result)) { ?>
<option value=$row['abbrev']><?=$row['abbrev']?></option>
<? } ?>
</select>