Foros del Web » Programando para Internet » Javascript »

Pasar checkbox por URL?

Estas en el tema de Pasar checkbox por URL? en el foro de Javascript en Foros del Web. Hola amigos, dispongo del siguiente código: Código HTML: <td> <input type= "radio" name= "fotos" value= "Si" > Si </td> <td> <input type= "radio" name= "fotos" ...
  #1 (permalink)  
Antiguo 03/08/2005, 12:53
 
Fecha de Ingreso: septiembre-2003
Mensajes: 337
Antigüedad: 20 años, 8 meses
Puntos: 4
Pasar checkbox por URL?

Hola amigos, dispongo del siguiente código:
Código HTML:
<td><input type="radio" name="fotos" value="Si">Si</td>
<td><input type="radio" name="fotos" value="No" checked>No></td>
<td>
[php]
<?php echo "<a href=\"subir_imagenes2.php?foto=$fotos\">" ?>Subir fotografias</a></font>
[/php]
</td> 
Y quiero saber si estoy pasando bien o mal el valos del chckbox "fotos". Mi idea es que lo hago mal, porque en subir_imagenes2.php hago
Código PHP:
echo $foto
y no sale nada...

Gracias.
  #2 (permalink)  
Antiguo 03/08/2005, 14:21
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 7 meses
Puntos: 11
si usas get, coloca: echo $_GET['foto'];
si usas post, coloca: echo $_POST['foto'];
  #3 (permalink)  
Antiguo 03/08/2005, 14:28
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Cita:
Iniciado por kabe_jrr
Hola amigos, dispongo del siguiente código:
Código PHP:
<td><input type="radio" name="fotos" value="Si">Si</td>
<td><input type="radio" name="fotos" value="No" checked>No></td>
<td>
<?php echo "<a href=\"subir_imagenes2.php?foto=$fotos\">" ?>Subir fotografias</a></font>
</td>
Ten cuidado en el manejo de etiquetas para iluminar código; no puedes embeber una dentro de otra... y es preferente muestres tu código "de corrido" (tal cuál tu archivo).

Pués bien...
1) Tienes un enlace, eso NO envia un formulario; si quieres que lo haga necesitas JavaScript.
2) --borrado, error mio --
3) Obviamente, te faltan las etiquetas del formulario, su action y su respectivo method.
4) Para recojes necesitas emplear variables superglobales.

En resumen:
- Documentación oficial: www.php.net/variables.external
- Busca en el foro sobre formularios...

Un saludo!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 04/08/2005, 04:19
 
Fecha de Ingreso: septiembre-2003
Mensajes: 337
Antigüedad: 20 años, 8 meses
Puntos: 4
Hum... gracias por responder, pero a ver cómo es el asunto...

El formuario ya lo tengo, pero los datos se recogen en otra página, es decir, el action del form es una página distinta de la del href que indico. Yo lo que quiero es usar ese enlace de "Subir fotografias", que te abre otra página diferente ("subir_imagenes2.php") pasando por la URL el valor del checkbox "fotos", que puede ser "si" o "no".

Resumiendo, mi pregunta es: ¿cómo pasar por la URL el valor del checkbox a una página diferente de la indicada en el action del form?

Espero que se me entienda. Muchas gracias.
  #5 (permalink)  
Antiguo 04/08/2005, 04:49
 
Fecha de Ingreso: septiembre-2003
Mensajes: 337
Antigüedad: 20 años, 8 meses
Puntos: 4
Qué va, no parece servir, ya que puesto así lo que recoge es justo esto: "documentnombreformnombrecampovalue"
  #6 (permalink)  
Antiguo 04/08/2005, 04:55
 
Fecha de Ingreso: septiembre-2003
Mensajes: 337
Antigüedad: 20 años, 8 meses
Puntos: 4
En el post anterior me refería a que si pongo este código, no sirve, ya que recoge lo que he comentado:
Código PHP:
<?php echo "<a href=\"subir_imagenes2.php?foto=".document.nombreform.nombrecampo.value."\">"Subir fotografias</a></font>";?>
  #7 (permalink)  
Antiguo 04/08/2005, 05:00
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 2 meses
Puntos: 1
perdon lo borre sin quere pruebalo asi

<a href="#" onClick="window.open('subir_imagenes2.php?foto='+d ocument.nombreform.nombrecampo.value,'','width=415 ,height=20');" >Subir foto</a>

si es con echo pues
echo "<a href=\"#\" onClick=\"window.open('subir_imagenes2.php?foto='+ document.nombreform.nombrecampo.value,'','width=41 5,height=20');\" >Subir foto</a>";

Un Saludo
  #8 (permalink)  
Antiguo 04/08/2005, 05:37
 
Fecha de Ingreso: septiembre-2003
Mensajes: 337
Antigüedad: 20 años, 8 meses
Puntos: 4
Nada, que no hay manera... ahora en la nueva ventana que se abre aparece la palabra "undefined". ¿Y eso? Lo que hago es cambiar "nombreform" por "form1" y "nombrecampo" por "fotos"... Que son como los llamo en mi código...
  #9 (permalink)  
Antiguo 04/08/2005, 05:47
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 2 meses
Puntos: 1
crear una copia de del subir y pon solo esto

<?
echo $_GET['foto'];
?>

para ver que te pone

Un Saludo
  #10 (permalink)  
Antiguo 04/08/2005, 05:58
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 2 meses
Puntos: 1
el problema es que los dos se llaman iguales y por lo que se ve el java se hace un lio
por que no usas un check seria algo asi para no complicarte la vida

<input name="fotos" type="checkbox" id="fotos" value="no" checked />

<a href="#" onClick="window.open('pi.php?foto='+document.form1 .fotos.checked,'','width=415,height=20');" class="normal"><img src="images/subir.gif" border="0"></a>
entonces si va marcado te enviara true y si no false

entonces en al pagina que recibes chequeas el valor de foto y haces una cosa o otra, algo asi

<?
if ($_GET['foto']=="false"){
hagol o que sea por que vale no
}
else{
hago lo que sea cuando vale si
}
?>

Un Saludo
  #11 (permalink)  
Antiguo 04/08/2005, 06:46
 
Fecha de Ingreso: septiembre-2003
Mensajes: 337
Antigüedad: 20 años, 8 meses
Puntos: 4
Qué follón! Aunque parece que nos vayamos acercando...
Ahora lo que parece ser que hace es que siempre toma "foto" como "true" ya que siempre ejecuta la parte del else, se haya seleccionado un checkbox ("si") u otro ("no").
Por cierto lo que no parece funcionar es lo de añadir el id="fotos".
  #12 (permalink)  
Antiguo 04/08/2005, 08:26
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 2 meses
Puntos: 1
bien solo tienes que poner un check tal cual lo puse yo, si esta chequeado te enviara true y si esta desmarcado te enviara false...

pon lo siguiente en la pagina de donde se recibe pon lo siguiente

<?
echo "La variable recibida por get vale : " .$_GET['foto'];
?>

ademas tambien en la barra de arriba veras la url y el valro de la variable

Un Saludo
  #13 (permalink)  
Antiguo 05/08/2005, 00:35
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Cita:
Iniciado por kabe_jrr
mi pregunta es: ¿cómo pasar por la URL el valor del checkbox a una página diferente de la indicada en el action del form?
... a menos que me este afectando la edad... ¿no lo que tienes (según tu código) son radiobuttons???? ¿por qué menciones chechkboxes??; esto esta antes de que te sugirieran cambiarlo...

... siguiendo con tu consulta original (radios y un enlace "normal"), prueba con esto:
Código HTML:
<html><head><script>
function enlace() {
      <!-- "frm" == name del formulario; "fotos" == name de los radiobuttons -->
      var radio= document.frm.fotos;
      for (var i=0; i<radio.length; ++i) {
            if (radio[i].checked) {
                  var pasar= radio[i].value; break;
            }
      }
<!-- "tu_pagina.php" == página que quieres abrir -->
document.location.href= 'tu_pagina.php?valor='+pasar;
<!-- usa window.open si quieres... -->
}
</script></head><body>
<form name="frm">
<input type="radio" name="fotos" value="Si">Si
<input type="radio" name="fotos" value="No" checked>No
</form>
<a href="javascript:enlace()">Enlace</a>
</body></html> 
Esto crearia un enlace "normal" de tipo tupagina.php?valor=[Si/No] (según lo seleccionado) para que recojas con $_GET['valor'] como normalmente lo haces.

Hago comentarios en el código por si lo necesitas modificar (al menos la página haz de modificarla).

Un saludo!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 05/08/2005 a las 00:43 Razón: Agrego comentarios a el código
  #14 (permalink)  
Antiguo 05/08/2005, 08:50
 
Fecha de Ingreso: septiembre-2003
Mensajes: 337
Antigüedad: 20 años, 8 meses
Puntos: 4
Muchas gracias jam!!! Ahora sí que me recoge todo bienl. A dinasen también muchas gracias por la paciencia, puf!!!
  #15 (permalink)  
Antiguo 05/08/2005, 08:59
 
Fecha de Ingreso: septiembre-2003
Mensajes: 337
Antigüedad: 20 años, 8 meses
Puntos: 4
Ah, efectivamente, lo de decir checkbox en lugar de radio buttons fue un lapsus que arrastré desde el principio.
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 13:43.