Foros del Web » Programando para Internet » ASP Clásico »

Insisto, listbox a partir de otro

Estas en el tema de Insisto, listbox a partir de otro en el foro de ASP Clásico en Foros del Web. Hola, Y disculpen la molestia pero, la verdad es q no tengo a quien mas consultar…. Shiryu_libra gracias por la ayuda pero para me falta ...
  #1 (permalink)  
Antiguo 12/12/2007, 16:04
 
Fecha de Ingreso: enero-2006
Mensajes: 233
Antigüedad: 18 años, 5 meses
Puntos: 2
Insisto, listbox a partir de otro

Hola,
Y disculpen la molestia pero, la verdad es q no tengo a quien mas consultar….
Shiryu_libra gracias por la ayuda pero para me falta pilar un poco el ajax…
ya saben cual es el caso dos listbox uno de categoría y otro de subcategoría, lo que quiero es que al seleccionar una categoría automáticamente me aparezcan las subcategorías en el segundo listbox osea “destino”

busque varios ejemplo que hacen cosas similares y encontré algo lo implemente y me resulto bastante , no he logrado el objetivo pero creo que estoy cerca
ok, tengo addproduct.asp y tengo paginasubcat.asp que es la que procesa el select para las subcategorías, ok, los problemas que presento son:
1. no logro pasar como parámetro el value del listbox o select origen a mi pagina externa (paginasubcat.asp). lo que paso es el valor description que es el nombre de la categoría lo que hice para que me funcionara es que en el selecte puse <option value= ""&rstcat.Fields(0)&"" SELECTED >"&rstcat.Fields(0)&"</option> para que me pasara la categoría osea lo que me pasa como parámetro es lo que ve el usuario. rstcat.Fields(0) esto es lo mismo que decir rstcat.Fields(idcategory) o rstcat(“idcategory”)
2. al llegar a la pagina externa me funciona bien claro teniendo en cuenta que estoy forsando el idcategory como parámetro, pero se me queda en la pagina externa no me retorna para que me haga el replace
3. esos son los dos problemas que estoy presentando les agradezco los comentarios

el codigo

addproduct.asp

<!-- #include file ="../include/funciones.asp" -->
<%
'Dim fs, a, strRespuesta
Dim strNombreUsuario, strUsuarios
Dim Conn

'ABRE CONEXION
Set rstcat = Server.CreateObject("ADODB.Recordset")
Set rstsubcat = Server.CreateObject("ADODB.Recordset")

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open CONNECTIONSTRING

'VERIFICA EXISTENCIA DE SESION
Call ValidarSesion(TODOS)

strNombreUsuario = Session("NOMBRE")
respuesta=request.querystring("res")
%>
<html>
<head>
</head>
<body >
<form name="form1" method="post" action="hhhhh.asp">

<table>

<td colspan="2"><hr align="center" width="100%" size="1" color="707e67"></td></tr>
<tr>
<td width="98"><strong>Descripción:</strong></td>
<td width="261"><div align="left"><input name="description" type="text" class="InputBoxText" id="description" size="75" maxlength="250"></div></td>
</tr>
<tr>
<td><strong>Category:</strong></td>
<td>

<select name="category" id="category" class="InputBoxText" onChange="Cambia()">
<%
strSQL = "SELECT idcategory,description FROM Category order by description"
Set rstcat = Conn.Execute(strSQL)
do while not rstcat.eof
response.write "<option value= ""&rstcat.Fields(0)&"" SELECTED >"&rstcat.Fields(0)&"</option>"
rstcat.MoveNext
Loop%>
</select>


</td>
</tr>
<tr>
<td><strong>SubCategory:</strong></td>
<td>

<select class="InputBoxText" name="subcat" id="subcat">
<%
strSQL = "SELECT idsubcategory,description FROM SUBCATEGORY "
Set rstsubcat = Conn.Execute(strSQL)
do while not rstsubcat.eof
response.write "<option value=""&rstsubcat.Fields(0)&"" selected>"&rstsubcat.Fields(1)&"</option>"
rstsubcat.MoveNext
Loop%>
</select>

</td></tr>
<tr>
<td><strong>Definition:</strong></td>
<td>
<textarea name="definition" cols="45" rows="3"></textarea></td>
</tr>
<tr>
<td colspan="2"><hr width="100%" size="1" color="707e67"></td>
</tr>
<tr>
<td colspan="2"><div align="center">

<input name="enviar" type="button" class="boton_enviar" id="enviar" value="enviar" onclick="if (validar_forma()) {form1.submit();}">
</div></td>
</tr>
</table>
</body>
</html>


<script LANGUAGE="javascript">
<!--



function Cambia()
{
LbCambio=true;
sToEval = "LlenaCC();";
document.body.style.cursor = "wait";
top.location.replace("paginasubcat.asp?txtCC=" + form1.category.options(form1.category.selected).te xt);
return true;
}

//Llena el combo de Sistemas
function LlenaCC(sData)
{
var sData = new String(top.Data.innerText)
LlenaCombo(form1.subcat,true,sData);
document.body.style.cursor = "default";
return;
}

//Llena el combo enviado por paámetro
function LlenaCombo(oSelect, bEmptyFirst, sData)
{
var oElem, sElem, sText, sValue
if (bEmptyFirst)
{
while (oSelect.options.length > 0)
{
oSelect.options.remove(0);
}
}
while (sData != "")
{
sElem = sData.substring(0,((sData.indexOf("|",0) != -1) ? sData.indexOf("|",0) : sData.length ));
sValue = sElem.substring(0,sData.indexOf(";",0));
sText = sElem.substring(sData.indexOf(";",0)+1,sElem.lengt h);
sData = (sData.indexOf("|",0) == -1) ? "" : sData.substring(sData.indexOf("|",0)+1,sData.lengt h);
oElem = document.createElement("OPTION");
oElem.text = sText;
oElem.value= sValue;
oSelect.add(oElem);
}
return;
}


//-->
</script>

paginasucat.asp
<!-- #include file ="../include/funciones.asp" -->
<%
'Recordsets
Dim rstsubcat,rstcat
Dim lsSql,lsCC
lsCC=Request.QueryString("txtCC")
response.write lsCC
'Crea objetos de Base de Datos
Set rstsubcat = Server.CreateObject("ADODB.Recordset")
Set rstcat = Server.CreateObject("ADODB.Recordset")

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open CONNECTIONSTRING

strSQLc = "SELECT idsubcategory,description FROM SUBCATEGORY where idcategory="&lsCC&""
'Ejecuta instrucción
rstsubcat.open strSQLc, Conn

do while not rstsubcat.EOF
lnContador=lnContador + 1
rstsubcat.MoveNext
loop

%>
<HTML>
<HEAD>
</HEAD>
<BODY>
<DIV ID="Data"><%
if lnContador >0 then
rstsubcat.MoveFirst
Do While Not rstsubcat.EOF
Response.Write rstsubcat.Fields("idsubcategory").Value & "; " & rstsubcat.Fields("description").Value
rstsubcat.MoveNext
If Not rstsubcat.EOF Then Response.Write "|"
Loop
rstsubcat.Close
Set rstsubcat= Nothing
else
Response.Write "Vacio"
end if
%></DIV>
<SCRIPT LANGUAGE=javascript>
<!--
top.LlenaCC()
//-->
</SCRIPT>


saludos,


</BODY>
</HTML>
  #2 (permalink)  
Antiguo 12/12/2007, 16:06
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: Insisto, listbox a partir de otro

nancy8120, esto no está permitido, el mensaje original se encuentra aquí
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 21:17.