How to populate a drop down menu from a database without refreshing the page

Posted on 2008-10-22
Last Modified: 2010-04-21
I have form on my page and based on what the user chooses from the first drop down menu, I want the next drop down menu to populate with values from a database.  I've attached a copy of the code and the asp function I'm trying to call.

When I select my survey project from the 1st drop down, I get the alert -> There was a problem while using XMLHTTP: Internal Server Error.

The getsurvey.asp code appears to be working and I've included the output from this function when I test the program in my browser.

Can someone please help me figure out what I'm doing wrong?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>My title</title>
<SCRIPT TYPE="text/javascript">
function getSurveys(dbPath)
   var strURL="getsurvey.asp?dbpath=" + dbPath;
   var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   if (xmlhttp)
      xmlhttp.onreadystatechange = function()
         if (xmlhttp.readyState == 4)
	   // only if "OK"
	   if (xmlhttp.status == 200)
	   } else {
   	      alert("There was a problem while using XMLHTTP:\n" + xmlhttp.statusText);
      }"GET", strURL, true);
   } else {
      alert("There was a problem creating the xmlhttp object");
<table width="100%" border="0" cellpadding="0" cellspacing="5">
    <td align="left" valign="top">Project Survey:</td>
    <td align="left" valign="top">
      <select name="Projects" onChange="getSurveys(this.value)">
        <option>Select Project Survey</option>
        <option value="mypath\mydbname.mdb">Survey Project 1</option>
    <td align="left" valign="top">Program Survey:</td>
    <td align="left" valign="top">
      <p id="surveydiv">
        <select name="survey"><option>Select Project Survey First</option></select>
<% Option Explicit %>
<!--#include file="functions.asp"-->
Dim MyConn, ConnStr, rs, dbPath, dbName
dbName = "\" & Right(Request.QueryString("dbpath"), Len(Request.QueryString("dbpath")) - InStrRev(Request.QueryString("dbpath"), "\"))
dbPath = Left(Request.QueryString("dbpath"), Len(Request.QueryString("dbpath")) - Len(dbName))
Call OpenDatabase(MyConn, adModeShareDenyNone, dbPath, dbName)
ConnStr = "SELECT presenterid, program FROM Presenter;"
set rs = MyConn.Execute(ConnStr)
<select name="surveys">
	<option>Select Program Survey</option>
	<% do while rs.EOF = false %>
	<option value=<%=rs("presenterid")%>><%=rs("program")%></option>
	<%		rs.MoveNext
		loop %>
<% Call Database_Close(MyConn) %>
getsurveys.asp output
<select name="surveys">
	<option>Select Program Survey</option>
	<option value=37>Program 1</option> -->
	<option value=33>Program 2</option>
	<option value=34>Program 3</option>
	<option value=35>Program 4</option>	
	<option value=36>Program 5</option>	

Open in new window

Question by:dyarosh
  • 2

Accepted Solution

ASPSQLServerCOM earned 500 total points
ID: 22780621
first try this example
The reference site W3Schools has a good section on AJAX

There is also a good explanation on what AJAX is at
LVL 19

Expert Comment

by:Albert Van Halen
ID: 22780683
Perhaps a typo ?? Your page is called getsurveys.asp, yet you make a request to getsurvey.asp.

Author Closing Comment

ID: 31508848
Thanks for the help.  Your solution worked.  Also, the typo was in my posting where I labeled the program name.
LVL 19

Expert Comment

by:Albert Van Halen
ID: 22787034
Hi dyarosh, like to hear what your solution was for your problem.

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
how can i get 4 nd 5 ? 3 31
binding event to form in 9 42
Html value of radio 14 31
Possible propagation problem 1 25
This article shows how to create and access 2-dimensional arrays in JavaScript.  It includes a tutorial in case you are just trying to "get your head wrapped around" the concept and we'll also look at some useful tips for more advanced programmers. …
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question