Hallo,
Ik probeer een webpagina met twee "dropdown lists" te maken zodat de tweede "dropdown list", na een selectie in de eerste "dropdown list", automatisch en zonder de pagina te verversen wordt gevuld met de relevante opties.
Ik ben al een eind op weg maar het werkt niet. De eerste "dropdown list" wordt gevuld met merken uit een database. De tweede "dropdown lists" zou, na het maken van een selectie, gevuld moeten worden met de diverse typen van het geselecteerde merk. Maar de tweede "dropdown list" blijft leeg.
Wie weet waarom het niet werkt?
Bedankt voor het lezen!
Met vriendelijke groeten,
Fred.
<?php
/* Program name: ap_selectplane.php
* Description: Program builds a selection list
* from the database.
*/
?>
<html>
<head>
<title>Select airplane</title>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
<script language="javascript" type="text/javascript">
//Browser Support Code
function ajaxFunction(){
var ajaxRequest; // The variable that makes Ajax possible!
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
}catch(e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
// Something went wrong
alert("Your browser doesn't support XMLHttpRequest!");
return false;
}
}
}
return ajaxRequest;
}
function updateTypes(){
var ajaxRequest = ajaxFunction();
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
document.Type.innerHTML = ajaxRequest.responseText;
document.Type.disabled = false;
}
}
var value = document.Manufacturer.options[document.Manufacturer.selectedIndex].value;
if(value != ""){
ajaxRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajaxRequest.send('manufacturer='+document.Manufacturer.options[document.Manufacturer.selectedIndex].value);
ajaxRequest.open("POST", "ap_selecttype.php", true);
ajaxRequest.send(null);
}
}
</script>
</head>
<body>
<br><br>
U N D E R C O N S T R U C T I O N
<br><br><br><br>
<br>
<br>
<select name="Manufacturer" onChange="updateTypes();">
<option value="">- Select Manufacturer -</option>
<?php
$db_host = "localhost";
$db_database = "************";
$db_username = "************";
$db_password = "************";
$dbcnx = mysql_connect($db_host,$db_username,$db_password);
mysql_select_db($db_database);
$result = mysql_query("SELECT DISTINCT merk FROM airplanes ORDER BY merk") or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo "<option value=\"".$row['merk']."\">".$row['merk']."</option>\n";
}
?>
</select>
» » » » »
<select name="Type" disabled="disabled"></select>
</body>
</html>
<option value="">- Select Type -</option>
<?php
$db_host = "localhost";
$db_database = "************";
$db_username = "************";
$db_password = "************";
$dbcnx = mysql_connect($db_host,$db_username,$db_password);
mysql_select_db($db_database);
$result = mysql_query("SELECT DISTINCT type FROM airplanes WHERE merk = '".mysql_real_escape_string($_POST['manufacturer'])."'") or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo "<option value=\"\">".$row['type']."</option>\n";
}
?>
code_upd.rar