それは本当に明白なことであるに違いないと私は確信していますが、私はこれでどこが間違っているのかわかりません。2つのオプションを含むドロップダウンリストがあります。オプションを選択すると、XMLHttpRequest()を使用して、選択したオプションに基づいてデータベースから顧客のリストを取得する必要があります。
私には2つの部分があります:
ajax2_js.php-javascriptおよびhtmlフォームが含まれています。
ajax2_DBAccess.php-データベースからリストを取得するPHPが含まれています。
2ページ目ですべてを確認しましたが、これはそれ自体で正常に機能します(そして、関連するリストをドロップダウンメニューとして表示します)が、最初のページでオプションを選択しても何も起こりません。
これまでの私のコードは次のとおりです。
ajax2_js.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script>
function ajaxFunction()
{
var ajaxRequest;
ajaxRequest = new XMLHttpRequest();
ajaxRequest.onreadystatechange = function()
{
if(ajaxRequest.readyState == 4)
{
document.getElementById('customerDiv').innerHTML=req.responseText;
}
}
ajaxResuest.open("GET", strURL, true);
ajaxRequest.send(null);
}
</script>
</head>
<body>
<form method="post" action="" name="form1">
Network : <select name="network" onChange="ajaxFunction('ajax2_DBAccess.php?network='+this.value)">
<option value="">Select Network</option>
<option value="1">Net1</option>
<option value="2">Net2</option>
</select>
</br>
Customer : <div id="customerDiv">
<select name="select">
<option>Select Customer</option>
</select>
</div>
</form>
</body>
ajax2_DBAccess.php
<?php
$network=$_GET['network'];
$q1 = "SELECT `CustName` FROM monitor.customers where network = $network;";
$con = new mysqli('localhost:3306', 'xxx', 'xxx');
if (mysqli_connect_errno())
{
$error = mysqli_connect_error();
echo $error;
exit();
}
else
{
$ConfRes = mysqli_query($con, $q1);
if ($ConfRes)
{
echo "<select name=\"Customers\">";
echo "<option>Select Customer</option>";
while($row=mysqli_fetch_array($ConfRes, MYSQLI_ASSOC))
{
$result = $row['CustName'];
echo "<option value>$result</option>";
};
echo "</select>";
}
else
{
$error = mysqli_error();
echo $error;
exit();
}
};
?>
どんな援助もいただければ幸いです。