Foros del Web » Creando para Internet » HTML »

formularios, checkbox

Estas en el tema de formularios, checkbox en el foro de HTML en Foros del Web. Hola, estoy haciendo un formulario y uso la casilla de seleccion checkbox. Por lo que veo solo tiene dos valores, seleccionado o ignorado. Pero yo ...
  #1 (permalink)  
Antiguo 25/09/2007, 09:34
 
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 10 años, 5 meses
Puntos: 0
formularios, checkbox

Hola, estoy haciendo un formulario y uso la casilla de seleccion checkbox.

Por lo que veo solo tiene dos valores, seleccionado o ignorado. Pero yo necesito que tome dos valores, por ejemplo, '0' en el caso de que no este seleccionado, y '1' en el caso de que si este seleccionado.

Podria alguien ayudarme? Gracias con antelacion
  #2 (permalink)  
Antiguo 25/09/2007, 14:20
 
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 10 años, 5 meses
Puntos: 0
Re: formularios, checkbox

Me explico mejor... quisiera que al recoger el valor de las casillas del formulario, recoger tanto si marco como si no marco la casilla.

El checkbox solo toma el valor 'si' cuando selecciono la casilla. Quisiera saber la forma de que cogiera el valor 'no' al no seleccionar dicha casilla.



Código HTML:
<form action="pruebas_formulario2.php" method=post>

<input type='checkbox' name='documentos[]' value='si'>Mostrar</br>
<br>
<input type='checkbox' name='documentos[]' value='si'>Mostrar</br>
<br>


<input type=submit value=Enviar>
</form> 

Esque teng problemas luego al identificar los valores del array, ya que si no toma todos los valores, no se que tecla realmente esta activada y cual no.
  #3 (permalink)  
Antiguo 25/09/2007, 19:57
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.544
Antigüedad: 15 años, 8 meses
Puntos: 1262
Re: formularios, checkbox

Hola:

En vez de 2 checkboxes, tal vez sea mejor 2 radios, que solo permiten una selección... o usar solo un checkbox, y al no ser "si" se debe suponer que es "no"

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 26/09/2007, 02:25
 
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 10 años, 5 meses
Puntos: 0
Re: formularios, checkbox

Gracias caricatos... pero me temo que no resuelves mi duda...

necesito usar checkbox (y no radio)ya que puede haber mas de una opcion señalada... y necesito utilizar arrays, porque en mi pagina no siempre aparece el mismo numero de opciones..

Es por ello por lo que a la hora de contabilizar las casillas que han sido marcadas encuentro un problema. Este problema es que al recoger el array no puedo identificar cual casilla fue señalada y cual no, lo unico q se es cuantas han sido marcadas, y no el orden... me explico:

ejemplo:


array documentos:

documento[0]
documento[1]
documento[2]

si marco las tres, me devuelve un array de tres elementos con los tres valor 'si'.

documento[0]='si'
documento[1]='si'
documento[2]='si'

Pero si uno, cualquiera de ellos, no ha sido marcado, me devuelve un array de dos elementos:

documento[0]='si'
documento[1]='si'

y nunca sabre si se marco el documento 0, el 1 o el 2, porque al no devolver valor, solo me aparece un array con dos componentes.

Si, en vez de un array con dos componentes 'si', tuviera ademas de las dos componentes 'si' la otra componente q me diera otro tipo de valor (null por ejemplo), no tendria ningun problema. Es decir lo q quiero hacer es que me devuelva si tengo tres casillas q me devuelva el valor de las tres, no de solo las marcadas, es decir:

documento[0]='si'
documento[1]=null (si no ha sido marcada la casilla dos)
documento[2]='si'



No puedo hacerlo dando un nombre distinto en vez de poner un array porque no es un numero de documentos fijo.

Entonces lo que quiero saber es como hago para que me devuelva un valor si las casillas no han sido marcadas, existe una opcion o se añade algo a mayores al hacer el formulario?

Gracias
  #5 (permalink)  
Antiguo 26/09/2007, 03:24
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.544
Antigüedad: 15 años, 8 meses
Puntos: 1262
Re: formularios, checkbox

Hola:

El comportamiento es el que veo que sabes, y no se puede cambiar... pero si en vez de el value="si", pones el orden ya tienes el problema resuelto, ya que si se marcan se envían y si no no, si te llegan 2 valores "si" tan solo sabes cuantos se marcaron, pero si te llega "0" y "2", se deduce que se quedó sin marcar el "1"... el tratamiento con radios, aunque la descartes, puede ser también realizable, pero poniendo un par de radios por cada elemento checkbox que ahora estás usando, y puedes usar nombres del tipo documento[0] en cada radio...
<input type="radio" name="documento[0]" value="no" checked="checked" />
<input type="radio" name="documento[0]" value="si" />

<input type="radio" name="documento[1]" value="no" checked="checked" />
<input type="radio" name="documento[1]" value="si" />

<input type="radio" name="documento[2]" value="no" checked="checked" />
<input type="radio" name="documento[2]" value="si" />

Con este sistema el precesamiento en php es igual que si el nombre fuese "documento[]"...
Para otro resultado usando javascript sería muy complejo y en mi opinión nada recomendable.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 26/09/2007, 05:52
 
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 10 años, 5 meses
Puntos: 0
Re: formularios, checkbox

Muchisimas gracias caricatos!!

poniendo el orden en vez del value="si", puedo resolver el problema!!

Muchisimas gracias,

Un saludo
  #7 (permalink)  
Antiguo 01/10/2007, 13:48
 
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 10 años, 5 meses
Puntos: 0
Re: formularios, checkbox

Otra duda acerca del formulario.... se puede hacer que me devuelva dos valores?

por ejemplo en forma de array:

Código HTML:
<input type='checkbox' name='documentos[]' value=[id1, id2]>Mostrar</br> 
o del modo siguiente?

Código HTML:
<input type='checkbox' name='documentos[]' value1=id1 value2=id2>Mostrar</br>
<br> 

es posible? a mi me da error
  #8 (permalink)  
Antiguo 01/10/2007, 18:31
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.544
Antigüedad: 15 años, 8 meses
Puntos: 1262
Re: formularios, checkbox

Hola:

Solo se puede enviar una variable del tipo String, pero puedes encadenar 2 valores (o más) y al procesarlo rescatarlos... por ejemplo si esos 2 valores son un array de longitud (length) = 2, convertirlos a una cadena con join, y al recuperarlo usar split con el mismo elemento encadenador...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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:59.