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