Holas, tengo dos combos que se relacionan por una bd, al seleccionar el primer combo que muestre la info correspondiente a la primera en la segunda :-0 :-0
Bueno tengop el codigo y cunado solo tengo un registro me sale error de la pagina, cuando tengo dos o mas registros en el 1er combo sale el error de pagina pero si cambio de registro comineza a funcionar en el segundo combo.
Les pongo el codigo a ver si pueden er mi problema:
<FORM NAME="Listas" METHOD="POST" ACTION="examen_add.asp">
<div align="center"><br>
<b>SELECCIONE LA CARRERA Y EL NIVEL PARA AGREGAR EL EXAMEN</b> <br>
<br>
</div>
<table width="75%" border="0" align="center">
<tr>
<td width="34%"><b><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Carrera</font></b></td>
<td width="66%">
<select name="Categorias" size="1"
onChange="ComponerLista (document.forms.Listas.Categorias[selectedIndex].value);">
<%
Dim oConn, rs, SQL, cuenta, categoria
'set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
'cn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("ejemplo.mdb")
SQL="SELECT * FROM Carreras"
rs.Open SQL, cn
cuenta=1
while not rs.EOF
%>
<option value="<%=rs.Fields("Id")%>"
<% if cuenta=1 then%>
SELECTED
<%end if%>> <%=rs.Fields("nombre")%></option>
<%
rs.MoveNext
cuenta=cuenta+1
wend
rs.Close
%>
</select>
<br>
</td>
</tr>
<tr>
<td width="34%"><b><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Nivel</font></b></td>
<td width="66%">
<select name="Productos" size="1">
</select>
<br>
</td>
</tr>
<tr>
<td width="34%"><b><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Ingresar
título del examen</font></b></td>
<td width="66%">
<input type="text" name="titulo" size="70" maxlength="70">
<br>
</td>
</tr>
</table>
<br>
<br>
<table width="75%" border="0" align="center">
<tr>
<td width="53%">
<div align="center">
<input type="submit" name="submit" value="Grabar">
</div>
</td>
<td width="47%">
<div align="center"><b><font size="2" face="Arial, Helvetica, sans-serif"><a href="default.asp">Menú
Principal</a></font></b></div>
</td>
</tr>
</table>
<P>
<P>
</FORM>
<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 nivel ORDER BY carrera, id"
rs.Open SQL, cn
cuenta=0
cat="basura"
while not rs.EOF
if cat<>rs.Fields("carrera") then
' cambio de categoria, empiezo a contar en 0
cuenta=0
cat=rs.Fields("carrera")
'además tengo que crear un nuevo array para la categoría
%>
var opciones<%=cat%> = new Array();
<%
end if
%>
opciones<%=cat%>[<%=cuenta%>]=new Tupla("<%=rs.Fields("nivel")%>","<%=rs.Fields("id" )%>");
<%
cuenta=cuenta+1
rs.MoveNext
wend
%>
<%
'Limpiamos objetos
rs.Close
set rs=nothing
cn.Close
set cn=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.Productos.options[contador] = optionObj;
} // for
} // ComponerLista
function BorrarLista() {
Listas.Productos.length=0;
}
//Inicializamos
ComponerLista (1);
-->
</SCRIPT>
<br>
</FORM>
Gracias de antemano.