All pastes #93848 Raw Edit

Anonymous

public text v1 · immutable
#93848 ·published 2006-07-20 20:24 UTC
rendered paste body
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>