Recibir Checkbox Variables
Tengo un formulatio que crea multiples campos tipo checkbox, cuyo "name" es variable, en el programa ASP que los recibe no se como saber cuantos vienen, ni el nombre que tiene cada uno.
Hola Ana.
Yo tambin he creado formularios de forma dinmica y con controles con nombre y n nmero variable, lo que hago es utilizar el mismo cdigo para generar los nombres de los controles en el mdulo de entrada de datos y en el que recibe los datos y saber cuantos controles has creado lo puedes saber contndolos a medida que los creas y pasando ese valor en un objeto session, hay otras formas pero creo que esta es la ms sencilla.
Ejemplo.
Formulario de entrada de datos:
<%
'Cdigo que abre la base de datos o saca los datos de donde sea
.......
loquesea = .........
for contador = 1 to loquesea 'Tambin podra ser un do while not rs.eof o lo que tu necesites para crear los controles
.....
'Variable para pasar al mdulo de recepcin de datos el nmero de controles creado
session("numerodecontroles") = 0
'Si cumple la condicin y necesito crear el control
if .................. then
session("numerodecontroles") = session("numerodecontroles") + 1
nombrecontrol = "control" & session("numerodecontroles")
%>
<input type="....." name="<%=nombrecontrol%>" value="<&=valor&>" ........>
<%
end if
....
next
%>
Mdulo que recibe los datos del formulario, cuando el nmero de controles y de datos recibidos es variable yo suelo meter los resultados en una matriz
<%
dim resultados()
redim resultados(session("numerodecontroles")) 'Esto te redimensiona la matriz al nmero de controles creados en el mdulo anterior
'Se vuelven a crear los nombres de control y se recuperan sus valores metiendolos en los elementos de la matriz
for contador = 1 to session("numerodecontroles")
nombrecontrol = "control" & contador
resultados(contador-1) = request.form(nombrecontrol)
next
%>
Lo que te he puesto es un ejemplo muy sencillo, pero creo que te puede servir.
Saludos.
Yo tambin he creado formularios de forma dinmica y con controles con nombre y n nmero variable, lo que hago es utilizar el mismo cdigo para generar los nombres de los controles en el mdulo de entrada de datos y en el que recibe los datos y saber cuantos controles has creado lo puedes saber contndolos a medida que los creas y pasando ese valor en un objeto session, hay otras formas pero creo que esta es la ms sencilla.
Ejemplo.
Formulario de entrada de datos:
<%
'Cdigo que abre la base de datos o saca los datos de donde sea
.......
loquesea = .........
for contador = 1 to loquesea 'Tambin podra ser un do while not rs.eof o lo que tu necesites para crear los controles
.....
'Variable para pasar al mdulo de recepcin de datos el nmero de controles creado
session("numerodecontroles") = 0
'Si cumple la condicin y necesito crear el control
if .................. then
session("numerodecontroles") = session("numerodecontroles") + 1
nombrecontrol = "control" & session("numerodecontroles")
%>
<input type="....." name="<%=nombrecontrol%>" value="<&=valor&>" ........>
<%
end if
....
next
%>
Mdulo que recibe los datos del formulario, cuando el nmero de controles y de datos recibidos es variable yo suelo meter los resultados en una matriz
<%
dim resultados()
redim resultados(session("numerodecontroles")) 'Esto te redimensiona la matriz al nmero de controles creados en el mdulo anterior
'Se vuelven a crear los nombres de control y se recuperan sus valores metiendolos en los elementos de la matriz
for contador = 1 to session("numerodecontroles")
nombrecontrol = "control" & contador
resultados(contador-1) = request.form(nombrecontrol)
next
%>
Lo que te he puesto es un ejemplo muy sencillo, pero creo que te puede servir.
Saludos.
Es muy facil
La variable del checkbox la llamas igual para todos por ejemplo name=borrar.
Al el programa ASP que procesas el formulario solo llegan las activadas
Puedes contar con : Contador=Request.Form(borrar):Count
Y puedes llamarlas cada una como un vector. Ej Cual= Request.Form(borrar)(n)
Con un For puedes recorrer todas
For Indice=1 to Contador
UnaSola=Request.Form(Indice)
Next
La variable del checkbox la llamas igual para todos por ejemplo name=borrar.
Al el programa ASP que procesas el formulario solo llegan las activadas
Puedes contar con : Contador=Request.Form(borrar):Count
Y puedes llamarlas cada una como un vector. Ej Cual= Request.Form(borrar)(n)
Con un For puedes recorrer todas
For Indice=1 to Contador
UnaSola=Request.Form(Indice)
Next