var url = "web.asp?target="; // The server-side script
function handleHttpResponse() // Parse the returned HTTP stream and populate the next select box
{
if (http.readyState == 4)
{
alert(http.responseText)
results = http.responseText.split(",")
if (document.VSelectForm.targetSelect.value == "make") // Populate the Make select box
{
for (var x = 0; x <= document.VSelectForm.MakeSelect.options.length; x++) // Clear and reset the Makes
{
document.VSelectForm.MakeSelect.options[x] = null;
}
if (document.VSelectForm.YearSelectOld.value == "NONE")
{
document.VSelectForm.MakeSelect.options[0] = new Option("-- No Makes Yet --", "NONE")
}
else
{
document.VSelectForm.MakeSelect.options[0] = new Option("-- choose a Make --", "NONE")
}
for (var i = 0; i < results.length; i++) // Populate the Makes based on the newly selected Year
{
if (results[i].length > 0)
{
alert(i + "=" + results[i]);
document.VSelectForm.MakeSelect.options[i+1] = new Option(results[i], results[i]);
}
}
for (var x = 0; x < document.VSelectForm.MakeSelect.options.length; x++) // Clear and reset the Models
{
document.VSelectForm.MakeSelect.options[x] = null;
}
document.VSelectForm.ModelSelect.options[0] = new Option("-- choose a Model --", "NONE")
}
if (document.VSelectForm.targetSelect.value == "model") // Populate the Model select box
{
for (var x = 0; x < document.VSelectForm.ModelSelect.options.length; x++)
{
document.VSelectForm.ModelSelect.options[x] = null;
}
document.VSelectForm.ModelSelect.options[0] = new Option("-- choose a Model --", "NONE")
for (var i = 0; i < results.length; i++)
{
if (results[i].length > 0)
{
document.VSelectForm.ModelSelect.options[i+1] = new Option(results[i], results[i]);
}
}
}
}
}
function getUpdate(target, year, make) // Call the server-side script and send the parameters
{
document.VSelectForm.targetSelect.value = target;
document.VSelectForm.YearSelectOld.value = year;
document.VSelectForm.MakeSelectOld.value = make;
alert(url + target + "&year=" + year + "&make=" + make);
http.open("GET", url + target + "&year=" + year + "&make=" + make, true);
http.onreadystatechange = handleHttpResponse;
http.send(null);
}
function getHTTPObject()
{
if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
{
try
{
xmlhttp = new XMLHttpRequest();
}
catch (e)
{
xmlhttp = false;
}
}
return xmlhttp;
}
var http = getHTTPObject(); // Create the HTTP Object
</script>