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

Una pregunta sobre recoger variables

Estas en el tema de Una pregunta sobre recoger variables en el foro de ASP Clásico en Foros del Web. Tengo un formulario en el cual hay dos chexbox, por ahora solo estoy comprobando como se hace, en código del formulario con los nombres es ...
  #1 (permalink)  
Antiguo 14/01/2003, 06:39
 
Fecha de Ingreso: febrero-2002
Ubicación: Navarra
Mensajes: 701
Antigüedad: 22 años, 4 meses
Puntos: 2
Una pregunta sobre recoger variables

Tengo un formulario en el cual hay dos chexbox, por ahora solo estoy comprobando como se hace, en código del formulario con los nombres es este:

<input type="checkbox" value="1" name="PollVote">
<input type="checkbox" value="6" name="PollVote">

después en la otra página para comprobar que me recoge los dos resultados, he puesto esto:

if request.form("PollVote")=1 then
response.write "1-"

elseif request.form("PollVote")=6 then
response.write "6"
end if

pero no me recoge los datos, si lo hace si selecciono una u otra pero no funciona cuando le selecciono los dos chexbox al mismo tiempo. Lo que quiero es recoger los datos de un formulario en el cual pueden ponerme más de una solución.

Este formulario según lo configures puede tener radio button o chexbox, si es radio no hay problema, he puesto este código:

case request.form("PollVote")=1
campo="Votes_1"
'campo1="1"
case request.form("PollVote")=2
campo="Votes_2"
'campo2="1"
case request.form("PollVote")=3
campo="Votes_3"
'campo3="1"
case request.form("PollVote")=4
campo="Votes_4"
'campo4="1"
case request.form("PollVote")=5
campo="Votes_5"
'campo5="1"
case request.form("PollVote")=6
campo="Votes_6"
'campo6="1"
case request.form("PollVote")=7
campo="Votes_7"
'campo7="1"
case request.form("PollVote")=8
campo="Votes_8"
'campo8="1"

end select

sqltxt="update tblPolls set "&campo&" = "&campo&"+1 where id_no="&Request("id_no")

conn.execute sqltxt

Pero cuando pongo el campo chexbox este código no funciona y debo poner otro, pero no consigo recoger todos los resultados, alguien sabe como puedo hacer esto????

Un saludo
  #2 (permalink)  
Antiguo 14/01/2003, 07:51
Avatar de impio_joe  
Fecha de Ingreso: mayo-2001
Ubicación: México
Mensajes: 69
Antigüedad: 23 años, 1 mes
Puntos: 0
Para que te de la otra opción en el IF , es decir cuando seleccionan las dos opciones, intenta poner otra linea en el IF que se ajuste a lo que puedes recibir si seleccionan los dos checkbox algo así:

elseif request.form("PollVote")="1,6" then
response.write "SELECCIONASTELASDOSOPCIONES"


Partimos de que si tienes varios checkbox que se llaman igual con diferente valor y seleccinan todos recibiras TODOS los valores ordenados de la misma manera que estan en tu forma,
supongamos que tienes:

<input type="checkbox" name="color" value="rojo">
<input type="checkbox" name="color" value="verde">
<input type="checkbox" name="color" value="amarillo">


el valor de Request.Form("color") sera: rojo, verde, amarillo

si lo ordenas así:

<input type="checkbox" name="color" value="amarillo">
<input type="checkbox" name="color" value="rojo">
<input type="checkbox" name="color" value="verde">


el valor de Request.Form("color") sera: amarillo, rojo, verde

Además si sólo seleccionan 2 de las 3 opciones, pues obviamente sólo recibiras 2 valores y depende de cuales sean pues van a estar acomodadas de diferente forma, como ves entre mas checkbox mas dificil te será predecir la respuesta en el IF

Yo te recomiendo que mejor uses botones radio y pongas otro botón radio por cada combinación de color por ejemplo:

<input type="radio" name="color" value="amarillorojoverde">


por ahí va la idea, espero te sirva el empujoncito

__________________
Atte: Impío_joe
  #3 (permalink)  
Antiguo 14/01/2003, 09:28
 
Fecha de Ingreso: febrero-2002
Ubicación: Navarra
Mensajes: 701
Antigüedad: 22 años, 4 meses
Puntos: 2
Gracias por el empujencito impio_joe, si me ha servido, gracias

Un saludo
  #4 (permalink)  
Antiguo 14/01/2003, 09:35
Avatar de impio_joe  
Fecha de Ingreso: mayo-2001
Ubicación: México
Mensajes: 69
Antigüedad: 23 años, 1 mes
Puntos: 0
De acuerdo

__________________
Atte: Impío_joe
  #5 (permalink)  
Antiguo 14/01/2003, 11:46
 
Fecha de Ingreso: febrero-2002
Ubicación: Navarra
Mensajes: 701
Antigüedad: 22 años, 4 meses
Puntos: 2
Una última cosa, como puedo hacer para que la persona que realice el formulario solo pueda marcar 2 checkbox como máximo???.

Yo suelo utilizar esta programación en javascript:

<script>

function countChoices(obj) {
max = 1; // max. number allowed at a time

a = obj.form.PollVote1.checked; // your checkboxes here
b = obj.form.PollVote2.checked;

// add more if necessary

count = (a ? 1 : 0) + (b ? 1 : 0);
// If you have more checkboxes on your form
// add more (box_ ? 1 : 0) 's separated by '+'

if (count > max) {
alert("Atencion! Solo puede seleccionar " + max + " opcion! \Quite una de ellas si quiere seleccionar otra.");
obj.checked = false;
}
}


</script>

Y el campo checkbox es de la forma

<input type="<%=ra("campoT")%>" value="1" name="PollVote" onClick="<%if request("campoT") = "checkbox" then%>countChoices(this)<%end if%>">

el problema es que aquí en este ejemplo debería llamar a cada checkbox de una forma diferente, pero en mi formulario todos los checkbox se llaman igual y lo único que cambia es el value, sabe alguien como puedo adaptar este código???

O quizás se pueda hacer con asp???

Un saludo
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 20:04.