First Page--RSCombos.htm
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE>Two Combos using Remote Scripting</TITLE>
</HEAD>
<BODY>
<!-- Author: Adrian Forbes -->
<script language="JavaScript" src="../_scriptlibrary/rs.htm"></script>
<script language="JavaScript">RSEnableRemoteScripting("../_scriptlibrary");</script>
<p>
<select onChange="PopulateChildren()" name=cboParents ID=cboParent size=1>
</select><select name=cboChildren ID=cboChildren size=1></select>
</p>
<script language=VBScript>
strDBPage = "RSDatabase.asp"
sub Window_onLoad
PopulateParent
PopulateChildren
end sub
sub PopulateParent
set objParents = document.all("cboParents")
set objRS = RSExecute(strDBPage ,"GetDBParents")
sRS = objRS.return_value
aRows = Split(sRS, Chr(13))
for i = 0 to UBound(aRows) - 1
aFields = Split(aRows(i), ";")
set objOption = document.createElement ("OPTION")
objOption.Value = aFields(0)
objOption.Text = aFields(1)
objParents.add objOption
next
end sub
sub PopulateChildren
set objParents = document.all("cboParents")
set objChildren = document.all("cboChildren")
while objChildren.length > 0
objChildren.remove (0)
wend
set objRS = RSExecute(strDBPage ,"GetDBChildren", objParents.value)
sRS = objRS.return_value
aRows = Split(sRS, Chr(13))
for i = 0 to UBound(aRows) - 1
aFields = Split(aRows(i), ";")
set objOption = document.createElement ("OPTION")
objOption.Value = aFields(0)
objOption.Text = aFields(1)
objChildren.add objOption
next
end sub
</script>
</BODY>
</HTML>
Page 2 RSDatabase.asp
<%@ LANGUAGE=VBSCRIPT %>
<%
strconn =
"Driver={SQL Server};Description=sqldemo;SERVER=127.0.0.1;UID=LoginID;
PWD=Password;DATABASE=Database_Name
%>
<% RSDispatch %>
<!-- Author: Adrian Forbes -->
<!--#INCLUDE FILE="../_ScriptLibrary/rs.asp"-->
<SCRIPT RUNAT=SERVER Language=javascript>
function Description()
{
this.GetDBParents = Function( 'return GetDBParents()' );
this.GetDBChildren = Function('ID', 'return GetDBChildren(ID)' );
this.Method1 = Method1;
}
public_description = new Description();
function Method1()
{
return 'Test';
}
</script>
<SCRIPT RUNAT=SERVER Language=VBScript>
function GetDBParents()
set objRS = createobject("ADODB.Recordset")
objRS.Open "select ID, strParent from Parents", strconn
GetDBParents = objRS.GetString(, , ";")
objRS.Close
set objRS.ActiveConnection = nothing
set objRS = nothing
end function
function GetDBChildren(ID)
set objRS = createobject("ADODB.Recordset")
objRS.Open "select ID, strChild from Children WHERE intParent=" & ID, strconn
GetDBChildren = objRS.GetString(, , ";")
objRS.Close
set objRS.ActiveConnection = nothing
set objRS = nothing
end function
</SCRIPT>