J'essaie de créer une liste chaînée ici. Je veux que l'utilisateur choisisse quelque chose dans la liste déroulante 4 et une fois que le dernier est choisi, un autre est censé apparaître. Je ne fais que tester mon code maintenant et pour une raison quelconque, mes codes ne montrent pas la liste déroulante qui est censée être affichée lorsque la dernière entrée est modifiée.S'il vous plaît aidez-moi avec cet ajax/javascript/php
Ceci est mon script java
function GetXmlHttpObject(){
var objXMLHttp = null;
if(window.XMLHttpRequest){
objXMLHttp = new XMLHttpRequest();
}else if(window.ActiveXObject){
objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
}
return objXMLHttp;
}
function stateChanged(n){
if(xmlHttp.readyState == 4 || xmlHttp.readyState == "complete"){
alert(xmlHttp.responseText);
document.getElementById("yearSelect").innerHTML = xmlHttp.responseText;
}
}
function showTest(v,p,r){
alert("HI");
}
function showBoxes(v,p,r){
xmlHttp=GetXmlHttpObject();
url="";
if(v == 1){
//by year
xmlHttp.onreadystatechange=stateChanged("yearSelect");
url = 'result.php?sid=' + Math.random() + '&type=1&product=' + p + '&vendor=' + r;
}else if(v == 2){
xmlHttp.onreadystatechange=stateChanged("monthSelect");
url = 'result.php?sid=' + Math.random() + '&type=2&product=' + p + '&vendor=' + r;
//by month
}else if(v == 3){
xmlHttp.onreadystatechange=stateChanged("weekSelect");
url = 'result.php?sid=' + Math.random() + '&type=3&product=' + p + '&vendor=' + r;
// by week
}
//url.replace(" ","%20"); <-- Do I need to do this?
alert(url);
xmlHttp.open("GET",url,true);
xmlHttp.send();
}
Ceci est mon result.php. À l'heure actuelle, il est très simple, il retourne juste les balises de sélection.
<?php
?>
<select>
<option value=2001>2001</option>
</select>
<?php
?>
Ceci est la première chose que voit l'utilisateur. Il y a une méthode php qui est utilisée ici comme getClients() elle met juste quelques trucs dans le menu déroulant.
<html>
<head>
<title>LeadQual Reporting</title>
<script language="javascript" src="../lqcharts/fusioncharts_js/FusionCharts.js"></script>
<script language="javascript" src="ajax.js"></script>
</head>
<body>
<div>
<form method='post' action='result.php'>
<select name ='client'>
<?php
$clients = ChartData::getClients();
foreach($clients as $k){
echo "<option value='$k'>$k</option>";
}
?>
</select>
<br/>
<select name="products" id="productsResult">
<option>
<?php
$products = ChartData::getProducts();
foreach($products as $p){
echo "<option value='$p'>$p</option>";
}
?>
</option>
</select>
<br/>
<select name="vendors" id="vendorsResult">
<option>
<?php
$vendors = ChartData::getVendors();
foreach($vendors as $v){
echo "<option value='$v'>$v</option>";
}
?>
</option>
</select>
<br/>
<select name="view" id="chooseView" onchange="showBoxes(this.value, document.getElementById('productsResult').value, document.getElementById('vendorsResult').value)">
<option value=0>Select Option</option>
<option value=1>By Year</option>
<option value=2>By Month</option>
<option value=3>By Week</option>
</select>
<div id="yearSelect">
</div>
<div id="monthSelect">
</div>
<div id="weekSelect">
</div>
</form>
</div>
<div>
</div>
</body>
</html>
merci de souligner que out =) – denniss