Foros del Web » Programando para Internet » PHP »

obtener el valor de un checkbox

Estas en el tema de obtener el valor de un checkbox en el foro de PHP en Foros del Web. Hola, tengo un checkbox en un formulario asi: <input type="checkbox" name="v_reg_usuAgree" id="v_reg_usuAgree" checked="checked" /> por defecto aparece con check, pero cuando lo capturo con php ...
  #1 (permalink)  
Antiguo 05/11/2009, 17:19
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 3 meses
Puntos: 2
obtener el valor de un checkbox

Hola, tengo un checkbox en un formulario asi:
<input type="checkbox" name="v_reg_usuAgree" id="v_reg_usuAgree" checked="checked" />

por defecto aparece con check, pero cuando lo capturo con php cuando se envia el formulario:
Código PHP:
$v_agree $_POST['v_agree'];
echo 
$v_agree
Siempre me devuelve 'on' asi no este checkeado, como puedo saber si esta checkeado o no con php?
  #2 (permalink)  
Antiguo 05/11/2009, 17:26
Avatar de willyfc  
Fecha de Ingreso: octubre-2008
Ubicación: Santa Cruz - Bolivia
Mensajes: 662
Antigüedad: 15 años, 6 meses
Puntos: 40
Respuesta: obtener el valor de un checkbox

de la forma que lo estas haciendo esta bien, solo que cuando lo recoges por POST no tiene el mismo name, tu input es:

<input type="checkbox" name="v_reg_usuAgree" id="v_reg_usuAgree" checked="checked" />

y tu solo lo recoges con v_agree, tendrías que también recogerlo con el name que tiene completo : v_reg_usuAgree, prueba esto:

Código php:
Ver original
  1. <?php
  2. if ($_POST["enviar"])
  3. {
  4.     $valor = $_POST["v_reg_usuAgree"];
  5.     if ($valor == true)
  6.         echo $valor;
  7.     else
  8.         echo "nada";
  9. }
  10. ?>
  11. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  12. <html xmlns="http://www.w3.org/1999/xhtml">
  13. <head>
  14. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  15. <title>Documento sin t&iacute;tulo</title>
  16. </head>
  17.  
  18. <body>
  19. <form action="mihoja.php" method="post">
  20.     <input type="checkbox" name="v_reg_usuAgree" id="v_reg_usuAgree" checked="checked" />
  21.     <input type="submit" value="ch" name="enviar" />
  22. </form>
  23. </body>
  24. </html>

__________________
WFC
codigo82
  #3 (permalink)  
Antiguo 05/11/2009, 19:19
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: obtener el valor de un checkbox

ummm, no es que me haya equivocado, es que en el ajax eso cambia
Código HTML:
var v_agree = document.getElementById('v_reg_usuAgree').value;
y luego lo envio asi:

Código HTML:
ajax.send("v_name="+v_name+"&v_email="+v_email+"&v_email2="+v_email2+"&v_pass="+v_pass+"&v_pass2="+v_pass2+"&v_intereses="+v_intereses+"&v_agree="+v_agree);
ya probe con tu codigo pero sigue sin funcionar :(

Edit: ya se como solucionarlo tengo que hacerlo con la propiedad checked, asi:

Código HTML:
var v_agree = document.getElementById('v_reg_usuAgree').checked;
  #4 (permalink)  
Antiguo 05/11/2009, 19:58
Avatar de willyfc  
Fecha de Ingreso: octubre-2008
Ubicación: Santa Cruz - Bolivia
Mensajes: 662
Antigüedad: 15 años, 6 meses
Puntos: 40
Respuesta: obtener el valor de un checkbox

Bueno, tampoco especificaste eso y además estamos en el foro de PHP, pero bueno, tendría que ser por el checked si no entiendo mal, por ejemplo.

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<script type="text/javascript" src="utiles/ajax.js">

</script>
</head>
 
<body>
<form action="" method="post" onsubmit="probar_c();return false;">
    <input type="checkbox" name="v_reg_usuAgree" id="v_reg_usuAgree" checked="checked" />
    <input type="submit" value="ch" name="enviar" />
</form>
</body>
</html>
y en el archivo ajax:

Código:
function probar_c(){
	var v_agree = document.getElementById("v_reg_usuAgree");
	if (v_agree.checked == true)
	{
		alert("on")	
	}
	else{alert("off");}
}
esto es solo para probarlo

y luego quitar los alerts y poner lo del envió.
__________________
WFC
codigo82

Última edición por willyfc; 06/11/2009 a las 07:05
  #5 (permalink)  
Antiguo 05/11/2009, 20:17
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: obtener el valor de un checkbox

Genial, thanks
Pero, cuando se comprueba con los valores true o false
es asi:
Código HTML:
if (v_agree.checked === true)
osea con 3 '=',
Salu2, y gracias
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 00:58.