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

envio d datos seleccionados a otra pagina

Estas en el tema de envio d datos seleccionados a otra pagina en el foro de ASP Clásico en Foros del Web. Hola: tengo una tabla que me muestra datos de un recordset con su checkbox, el problema es que no se como enviar cada uno de ...
  #1 (permalink)  
Antiguo 10/08/2004, 22:26
 
Fecha de Ingreso: agosto-2004
Mensajes: 10
Antigüedad: 20 años, 9 meses
Puntos: 0
envio d datos seleccionados a otra pagina

Hola:
tengo una tabla que me muestra datos de un recordset con su checkbox, el problema es que no se como enviar cada uno de los datos del recordset que esten chequeados a otra pagina, ni que valor colocar en el value del checkbox o en el HREF para lograrlo.
Gracias de antemano.

<% do while not rs.eof %>
<tr>
<td align="center">
<%=rs("nombre_prod")%>
</td>
<td align="center">
<%=rs("cant_por_unidad")%>
</td>
<td align="center">
<%=rs("cantidad_solicitada")%>
</td>
<td align="center">
<%=rs("suma")%>
</td>
<td align="center">
<input type="checkbox" name="Borrar" value="" ">
</td>
</tr>
<%rs.MoveNext%>
<%Loop%>
<%rs.Close%>
<tr>
<td colspan="5" align="right">
<A HREF="dispensacionproducto.asp?">Dispensar</A>
</td>
</tr>
  #2 (permalink)  
Antiguo 10/08/2004, 22:34
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 21 años
Puntos: 4
Tines varios checkbox no?

quieres recuperalos desde otra página asp no?

el nombre es el mismo para todos, el valor pues depende de tí,

los recuperas :

arreglo_checkbox=split(Request.Form("checkbox"),", ")
  #3 (permalink)  
Antiguo 11/08/2004, 10:19
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
O recuperalos por su indice:
checkbox=Request.Form("checkbox")(indice)

O por su nombre, pero necesitarias colocar un contador en la página donde los creas para diferenciarlos
<input type="checkbox" name="Borrar"<%=Cnt%> value="" ">

No los vas a enviar por URL (que tiene un límite), sino por POST. El ejecutarse el método submit del objeto Form se enviarán todos (seleccionados o no) a la página que indiques en la propiedad Action. En esa página debes ir preguntando si el check esta seleccionado o no (en base al valor que le colocaste al input).

Saludos
  #4 (permalink)  
Antiguo 11/08/2004, 20:38
 
Fecha de Ingreso: agosto-2004
Mensajes: 10
Antigüedad: 20 años, 9 meses
Puntos: 0
Hola:
Estoy super frustrada porque he estado todo el dia y aun no he podido resolver ni la mitad del problema. Hice los sgtes cambios:
1ª pagina:
<td align="center">
<input type="checkbox" name="Borrar<%=i%>" value="true">
</td>

2ª pagina
<%
checkbox=Request.Form("Borrar"&i)
%>
..
<table>
<td>
<%=checkbox%>
</td>

Este ultimo me imprime true(lo cual esta bien), pero solo para el primer valor checkbox seleccionado(y tengo muchos) y no he logrado guardar los sgtes en una matriz,para asi poder saber su largo y recorrerlo.

Porfa ayuda
  #5 (permalink)  
Antiguo 12/08/2004, 00:14
Avatar de skatomundo  
Fecha de Ingreso: junio-2002
Ubicación: Santiago - CL
Mensajes: 2.532
Antigüedad: 22 años, 10 meses
Puntos: 125
<td align="center">
<input type="checkbox" name="Borrar<%=i%>" value="true">
</td>

Puedes almacenar el contador i en un HIDDEN INPUT ejem.(<input name=i value=<%=i%> type=hidden>)

y luego:
recuperarlos:

'crea un arreglo para almacenar cada check
dim checks(request.form("i"))

for k = 1 to request.form("i")
'aqui vas llenando tu arreglo con cada valor de tus checks
svar = "borrar" & cstr(k)
checks(k) = Request.form(sVar)
next

'luego si quieres recorrer sólo los seleccionados

for k = 1 to request.form("i")
if borrar(k) = true then
response.write(borrar(k))
end if
next
  #6 (permalink)  
Antiguo 12/08/2004, 10:05
 
Fecha de Ingreso: agosto-2004
Mensajes: 10
Antigüedad: 20 años, 9 meses
Puntos: 0
sigo con problemas con el arreglo

Gracias por su ayuda:
</table>
<input type="Hidden" name="i" value="<%=i%>">

He tratado de hacer lo que me aconseja Skotamundo pero me da un error que al definir el arreglo se esperaba una constante entera en:
Dim checks(request.form("i")), la cambie por
total2=CInt(Request.form("i").Count)
dim checks(total2)

y aun asi me da el mismo error que hago?

Disculpen tantas preguntas
  #7 (permalink)  
Antiguo 12/08/2004, 10:09
Avatar de skatomundo  
Fecha de Ingreso: junio-2002
Ubicación: Santiago - CL
Mensajes: 2.532
Antigüedad: 22 años, 10 meses
Puntos: 125
total = cdbl(request.form("i"))
dim arreglo(total)

o puedes asignar el valor manual
dim arreglo(100)

;)
  #8 (permalink)  
Antiguo 12/08/2004, 15:26
Avatar de Boxmaster  
Fecha de Ingreso: agosto-2004
Ubicación: Ahorita... frente a mi PC
Mensajes: 74
Antigüedad: 20 años, 9 meses
Puntos: 0
Saludos

Tengo un codigo ya elaborado, espero que te pueda servir.

No es una forma muy elegante, pero por lo menos funciona.



<!--Conexión a la base de datos y a la tabla Actividades -->
<% dim Ob_Conn, Ob_RS %>
<% Set Ob_Conn = Server.CreateObject("ADODB.Connection")
'Se conecta a la base de datos local. Va al directorio donde se encuentra el archivo ASP.
Ob_Conn.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("baseDeDatosCamping.mdb"))
Set Ob_RS=Ob_Conn.Execute("SELECT * FROM Actividades")
%>
<!--Cuando se pulsa el boton eliminar,se llama a la pagina paginaEliminarActividades, que
eliminará las actividades seleccionadas en el checkbox-->

<form name="formCheckBoxEliminarActividad" method="get" action="paginaEliminarActividades.asp">

<TABLE BORDER=1>
<TR>
<TD></TD> <!--En esta columna ira un checkbox por cada registro-->
<TD> HORA DE INICIO </TD>
<TD> HORA DE FIN </TD>
<TD> ACTIVIDAD </TD>
<TD> LUGAR </TD>
<TD> </TD>

<% DO UNTIL Ob_RS.Eof %>

<!--Por cada elemento de la tablaActividades, se incluye un checkbox cuyo nombre será el id q tiene
su registro correspondiente en la tabla-->
<%'Variable que contiene el id del registro
dim idReg%>
<TR>
<TD><input type="checkBox" name="<%=Ob_RS("Id")%>" value="" > </TD>
<TD> <%=Ob_RS("Inicio")%> </TD>
<TD> <%=Ob_RS("Fin")%> </TD>
<TD> <%=Ob_RS("Actividad")%> </TD>
<TD> <%=Ob_RS("Lugar")%> </TD>
<%idReg=Ob_RS("Id")
<TD> <A REF="paginaModificarActividad.asp?idReg"> Modificar </A> </TD>
<%Ob_RS.MoveNext
LOOP
Ob_RS.Close
Ob_Conn.Close %>
</TABLE>

<input type="submit" name="botonEliminar" value="Eliminar">
</form>

y en el archivo "paginaEliminarActividades.asp":

<!--Procedimiento que da de baja una actividades seleccionadas por el usuario a través de unos
CheckBox-->
<% SUB bajaActividad()
<!--**Se conecta a la base de datos-->
Set Ob_Conn=Server.CreateObject("ADODB.Connection")
' Creación de un objeto command para ejecutar comandos sobre la base de datos
Set Ob_Command=Server.CreateObject("ADODB.Command")
'Se conecta a la base de datos local
Ob_Conn.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("baseDeDatosCamping.mdb"))
'Se indica al objeto command la base de datos activa, q sera sobre la q se ejecuten
'los comandos.
Ob_Command.ActiveConnection=Ob_Conn

FOR EACH var IN Request.QueryString %>
<!--Si el checkBox correspondiente a este registro, está seleccionado, se borra el registro-->
<% IF isnumeric(var) THEN
response.write "Id borrado" & var %> <BR> <%
Ob_Command.CommandText="DELETE FROM actividades WHERE Id=" & var
Ob_Command.Execute
END IF
NEXT

Ob_Conn.Close
Response.Redirect ("paginaIntroduccionActividadesDiarias.asp") 'Abro la pagina de introduccion de actividades diarias, para que se muestren los cambios

END SUB %>
<!--Fin del procedimiento bajaActividad-->


Este codigo me sirvio para eliminar registros marcados mediante un check box.


*********
Siempre debemos seguir la regla de oro...
Haz a otros lo que quieres que a ti te hagan.
(Si aclaras dudas, ten por seguro que aclararan las tuyas)
*********
  #9 (permalink)  
Antiguo 04/03/2005, 16:25
 
Fecha de Ingreso: marzo-2005
Mensajes: 1
Antigüedad: 20 años, 2 meses
Puntos: 0
Que tal un saludo a todos, disculpen que los moleste pero tengo un problema parecido y quisiera ver si me pueden apoyar, he tratado de hacer lo que recomiendan en esta página pero sin resultado alguno, tengo un asp1 que me genera de una base de datos una lista con su checkbox, lo que requiero es que solo los registros seleccionados al darle un clic al boton agrupar me los despliegue en un asp2, a continuación pongo el codigo del ASP1, gracias de antemano por sus sugerencias. saludos.

************************************************** ************************************************** ************************************************** *
ASP1:
************************************************** ************************************************** ************************************************** *

<TABLE WIDTH="700" BORDER="0" CELLSPACING="1" CELLPADDING="2" ALIGN="center" CLASS="txt2dn_wht">
<TR>
<TD WIDTH="700" HEIGHT="40" ALIGN="center" VALIGN="middle" CLASS="txtb" COLSPAN="5">
El resultado de la busqueda es de <%=clientes %> registros.<BR>
</TD>
</TR>
<TR>
<TD WIDTH="700" ALIGN="center" VALIGN="middle" COLSPAN="5">
<!-- Inicia Botones Superiores-->
<TABLE WIDTH="700" BORDER="0" CELLSPACING="0" CELLPADDING="0" ALIGN="center">
<TR>
<TD WIDTH="350" ALIGN="center" VALIGN="middle">
<FORM NAME="regresar" ACTION="selector_clientes.asp" method="post">
<INPUT TYPE="submit" NAME="back" VALUE="regresar" CLASS="boton"></form>
</TD>
<TD WIDTH="350" ALIGN="center" VALIGN="middle">
<form name="formCheckBoxAgrupar" action="agrupar_clientes.asp" method="post" >
<INPUT TYPE="submit" NAME="agrupar" VALUE="agrupar" CLASS="boton"></form>
</TD>
</TR>
</TABLE> <BR>
<!-- Termina Botones Superiores-->
</TD>
</TR>
<!-- Inicia titulo de columnas-->
<TR BGCOLOR="#B79470">
<TD HEIGHT="20" ALIGN="center" VALIGN="middle">
#
</TD>
<TD HEIGHT="20" ALIGN="center" VALIGN="middle">
No. Cliente
</TD>
<TD HEIGHT="20" ALIGN="center" VALIGN="middle">
Propietario
</TD>
<TD HEIGHT="20" ALIGN="center" VALIGN="middle">
Negocio
</TD>
<TD HEIGHT="20" ALIGN="center" VALIGN="middle">
Agrupar
</TD>
</TR>
<!-- Termina titulo de columnas-->
<!-- Inicia Ciclo de clientes-->
<%
if clientes = "" then
else
rs.movefirst
cont = 1
do while not Rs.eof
if cont mod 2 = 1 then
color = "#EEEEEE"
else
color = "#FFFFFF"
end if
%>
<!-- Inicia llenado de columnas x # de clientes-->
<TR BGCOLOR="<%=color %>" CLASS="txt2dn">
<TD HEIGHT="20" ALIGN="center" VALIGN="middle">
<%=cont%>
</TD>
<TD HEIGHT="20" ALIGN="center" VALIGN="middle">
<a href="reporte.asp?id_cliente=<%=RS("id_cliente") %>"><%=RS("id_cliente") %></a>
</TD>
<TD HEIGHT="20" ALIGN="center" VALIGN="middle">
<%=RS("nombre_propietario") %>
</TD>
<TD HEIGHT="20" ALIGN="center" VALIGN="middle">
<%=RS("nombre_negocio") %>
</TD>
<TD HEIGHT="20" ALIGN="center" VALIGN="middle">
<input type="checkbox" name="agrupar<%=RS("id_cliente")%>" value="">
</TD>
</TR>
<%
rs.movenext
cont = cont + 1
loop
end if
%>
</TABLE> <BR>
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:40.