我有3個下拉列表來填充從SQL數據庫使用PHP和JavaScript/AJAX。 第一個列表以填充選項開始,第二個列表根據選擇從數據庫填充。所有這些工作正常,我回應PHP的整個第二列表。 問題是:我不能得到第二個下拉框重複另一個「onchange」函數。嘗試了許多組合,但沒有運氣。第二個javasript函數屬於哪裏?在HTML或PHP?任何幫助將不勝感激。使用PHP填充多個下拉列表
HTML與第一javascript函數
<html>
<head>
<title>Insert Test</title>
<script>
function getdate(str){
if (str==""){
document.getElementById("dateinput").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("dateinput").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","test.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>
<form id="book" name="book" action="unfinished.php" method="post">
<p align="center">
<select name="cityinput" id="cityinput" onchange="getdate(this.value)">
<option value="0" selected>City</option>
<option value="1">Brisbane</option>
<option value="2">Sydney</option>
<option value="3">Melbourne</option>
<option value="4">Adelaide</option>
<option value="5">Perth</option>
</select>
</p>
<div id="dateinput"></div>
<p align="center">
<input type="submit">
</form></p>
</body>
</html>
php文件
<?php
require'connect.php';
date_default_timezone_set('Australia/Sydney');
$q=$_GET["q"];
$sql="SELECT date AS date FROM schedule WHERE lounge = '".$q."' AND date >= NOW() AND date <= NOW() + INTERVAL 14 DAY
ORDER BY date asc";
$result=mysql_query($sql);
$num=mysql_numrows($result);
$i=0;
echo"<center><select name='dateinput' id='dateinput'></center>";
while ($i < $num) {
$datum=mysql_result($result,$i,"date");
$day = date('l jS M', strtotime($datum));
echo "<option value=$datum>$day</option>";
$i++;
}
if (!mysql_query($query)){
die('Error: ' . mysql_error());
}
mysql_close();
?>
你可以使用jQuery嗎? –
把函數放入html文件並將其調用寫入php(
❗在編寫更多SQL接口代碼之前,請閱讀[正確的SQL轉義](http://bobby-tables.com/php)以避免嚴重的[SQL注入漏洞](http:// bobby-tables。 COM /)。您在查詢中使用了'$ _GET'數據,甚至沒有任何正確的轉義。你不可以做這個。 – tadman