
12/12/2007, 16:04
|
| | Fecha de Ingreso: enero-2006
Mensajes: 233
Antigüedad: 19 años, 4 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> |