EStoy tratando de hacer este formulario La comuna depende de lo que se escoja en region. Estoy utilizando el evento onchange pero no funca
<form action="regmed.asp" method="post" name="registro">
<table width="450" align="center" class="tabla">
<tr>
<td colspan="3"><div align="center" class="Cuerpo">Ingreso de Datos Profesionales</div></td>
</tr>
<tr>
<td class="borde">Región</td>
<td> <select class="input" name="region" maxlength="15" onChange="ComponerLista (document.forms.Listas.region[selectedIndex].value);" >
<option value="0" selected>Seleccione Region</option>
<%
Set Mi_Conexion = Server.CreateObject("ADODB.Connection")
Set Res = Server.CreateObject("ADODB.Recordset")
Mi_Conexion.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=C:\Inetpub\wwwroot\horas\horas.mdb;"
sql = "SELECT * FROM region order by cod_region"
Set Res = Mi_Conexion.Execute(sql)
While Not res.EOF
%>
<option value="<%=res("cod_region")%>" ><%=res("nombre_region")%></option>
<%
res.MoveNext
Wend
res.Close
set res = nothing
Mi_Conexion.close
set Mi_Conexion= nothing
%>
</select></td>
<td class="obligado">*</td>
</tr>
<tr>
<td class ="borde">Comuna</td>
<td><SELECT NAME="comuna" SIZE="1">
</SELECT> </td>
<td class="obligado">*</td>
</tr>
</table>
<SCRIPT LANGUAGE="Javascript">
<!--
function Tupla ( campo1, campo2 )
{
this.campo1 = campo1;
this.campo2 = campo2;
}
<%
'Vamos a crear nuestros arrays de productos desde ASP
'El primer if detecta un cambio en la categoría para
'crear un nuevo array en Javascript
SQL="SELECT * FROM comuna where cod_region = "&cod_region&""
res.Open SQL, Mi_conexion
cuenta=0
cat="basura"
while not res.EOF
if cat<>res.Fields("region") then
' cambio de categoria, empiezo a contar en 0
cuenta=0
cat=res.Fields("region")
'además tengo que crear un nuevo array para la categoría
%>
var opciones<%=cat%> = new Array();
<%
end if
%>
opciones<%=cat%>[<%=cuenta%>]=new Tupla("<%=res.Fields("cod_ciudad")%>","<%=res.Fiel ds("comuna")%>");
<%
cuenta=cuenta+1
res.MoveNext
wend
%>
<%
'Limpiamos objetos
res.Close
set res=nothing
Mi_conexion.Close
set Mi_conexion=nothing
%>
var contador;
function ComponerLista ( array ) {
// Compone la lista dependiente a partir
// del valor de la opcion escogida en la lista "padre"
BorrarLista();
array = eval("opciones" + array);
for (contador=0; contador<array.length; contador++)
{
// añade elementos nuestro combobox
var optionObj = new Option( array[contador].campo1, array[contador].campo2 );
Listas.comuna.options[contador] = optionObj;
} // for
} // ComponerLista
function BorrarLista() {
Listas.comuna.length=0;
}
//Inicializamos
ComponerLista (1);
-->
</SCRIPT>
</form></td>
</tr>
</table>