Foros del Web » Programando para Internet » PHP »

Envio de un input checkbox en un formulario

Estas en el tema de Envio de un input checkbox en un formulario en el foro de PHP en Foros del Web. Muy buenas shurmanos. haber llevo toda la tarde matandome con el envio de un formulario en el cual cuando lo recibo deberia de decirme si ...
  #1 (permalink)  
Antiguo 18/05/2012, 10:55
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 3 meses
Puntos: 6
Envio de un input checkbox en un formulario

Muy buenas shurmanos.
haber llevo toda la tarde matandome con el envio de un formulario en el cual cuando lo recibo deberia de decirme si los checkbox estan marcados y cual es ya que tengo dos (son los tipicos de aceptar condiciones legales).
Aqui os dejo toda la info y haber si alguien puede hecharme un cable con esto.
HTML
<form onSubmit="return validar(this)" action="enviar2.php" method="post">
<div id="cont_text">
<div id="text_aviso_formu">
<h2>Aviso legal</h2>
<p>Los datos de carácter personal que usted facilita a Tutora serán incluidos en un fichero automatizado bajo custodia y responsabilidad de Tutora Servicios Educativos S.L. para gestionar la relación comercial con el usuario.</p>
<p>El usuario podrá ejercer sus derechos de acceso, cancelación, rectificación y oposición mediante carta dirigida a esta sociedad a la calle_______________ de Madrid.</p>
<p>Asimismo, el usuario conoce y consiente a que en un futuro, aun cuando nuestra relación comercial esté finalizada, Tutora Servicios Educativos S.L. haga uso de sus datos personales con el fin de informarle de sus productos y/o servicios y a que comunique dichos datos a otras empresas asociadas cuyas actividades se relacionen con los productos y servicios ofrecidos por Tutora .......blalalalalalala... <input type="checkbox" name="acepta1" class="check" id="check1" value="1"/> </p>
<p>Con el envío del presente correo electronico el usuario autoriza a Tutora Servicios Educativos S.L. a la remisión de información comercial mediante su cuenta de correo electrónico así como otros medios electrónicos equivalentes, con la finalidad de evitar la recepción de correspondencia no deseada tal y como establece la Ley de Servicios de la Sociedad de la Información y del Comercio Electrónico. En el caso de que no desee recibir información comercial utilizando medios electrónicos hágalo constar constar en este formulario marcando la siguiente casilla <input type="checkbox" name="acepta2" class="check" id="check2" value="1"/></p>
<div id="btn_inicio">
<a href="index.html" title="Pulse para volver al inicio" class="home">Inicio</a>
</div>
</div>
</div>
<input type="text" name="nombre" id="nombre" alt="Nombre" value="Nombre" onfocus="cambiar(true,'nombre','Nombre')" onBlur="cambiar(false,'nombre','Nombre')"/>
<select name="servicios" id="servicios">
<option value="">Seleccione un servicios</option>
<option value="Atención temprana">Atención temprana</option>
<option value="Estimulación precoz">Estimulación precoz</option>
<option value="Evaluciación psicopedagógica">Evaluciación psicopedagógica</option>
<option value="Trastornos del aprendizaje">Trastornos del aprendizaje</option>
<option value="Psicólogo infantil">Psicólogo infantil</option>
<option value="logopedia / Foniatria">logopedia / Foniatria</option>
<option value="Sobredotación cognitiva">Sobredotación cognitiva</option>
<option value="Refuerzo escolar">Refuerzo escolar</option>
<option value="Formación de adultos">Formación de adultos</option>
<option value="Comunidades y empresas">Comunidades y empresas</option>
<option value="nanny teacher / nanny coach">nanny teacher / nanny coach</option>
<option value="Coaching para padres">Coaching para padres</option>
<option value="Idiomas">Idiomas</option>
<option value="Informática">Informática</option>
<option value="Música">Música</option>
<option value="Deportes">Deportes</option>
</select>
<input type="text" name="mail" id="mail" alt="E-mail" value="E-mail" onFocus="cambiar(true,'mail','E-mail')" onBlur="cambiar(false,'mail','E-mail')" />
<input type="text" name="telefono" id="telefono" alt="Telefono" value="Telefono" onFocus="cambiar(true,'telefono','Telefono')" onBlur="cambiar(false,'telefono','Telefono')" />
<textarea name="msg" id="msg" alt="Comentario" value="Message" onFocus="cambiar(true,'msg','Comentario')" onBlur="cambiar(false,'msg','Comentario')" ></textarea>
<input type="submit" value="enviar" alt="enviar" />
<input type="reset" value="Limpiar" alt="Limpiar" />
</form>
<div id="alerta">
<p id="formMsg"></p>
</div>
</div>
este es el codigo completo del formulario.

VALIDACION.JS
function validar(f){
var error="";
var f=document.forms[0];
var nombre=f.nombre.value;
var servicios=f.servicios.value
var email=f.mail.value;
var telefono=f.telefono.value;
var msg=f.msg.value;

if(!isString(nombre) || nombre=="Nombre"){
error += "\n <br /><span> El nombre es obligatorio.</span>";
document.getElementById("nombre").style.borderColo r= "#f00";
}
if(!isString(servicios) || servicios==""){
error += "\n <br /><span> El servicio es obligatorio.</span>";
document.getElementById("servicios").style.borderC olor= "#f00";
}
if(!isMail(email) || email=="E-mail"){
error += "\n <br /><span> El mail no es correcto.</span>";
document.getElementById("mail").style.borderColor= "#f00";
}

if(!isTelephone(telefono)){
error += "\n <br /><span> El telefono no es correcto.</span>";
document.getElementById("telefono").style.borderCo lor= "#f00";
}
if(!isString(msg) || msg == "Comentario"){
error += "\n <br /><span> El comentario es obligatorio.</span>";
document.getElementById("msg").style.borderColor= "#f00";
}
if(error==""){
return true;
} else{
formMsg("Revise los siguientes errores:" + error);

return false;
}
}
function limpia(objeto){
objeto.style.borderColor="#978b7e";
}

function cambiar(b,campo,porDefecto){
var input = document.getElementById(campo);
if (b && (input.value == "" || input.value == porDefecto)) {
input.value = "";
input.style.color = "#8C0224";
} else if (!b && input.value == "") {
input.value = porDefecto;
input.style.color = "#8C0224";
} else {
input.style.color = "#8C0224";
}
}
function validacheckboxex(){

if(!document.getElementById('check1').checked && !document.getElementById('check2').checked ){
error += "\n <br /><span> El check es obligatorio.</span>";
document.getElementById("msg").style.borderColor= "#f00";
}

}
function inicio(){
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++ ){
if (inputs[i].value != inputs[i].alt) {
//inputs[i].style.color = "#000";
inputs[i].value = inputs[i].alt;
}
}
}


function formMsg(t){
$("#formMsg").stop(true,true).html(t).show().delay (4000).fadeOut(10000);
}

PHP envio
function validar(f){
var error="";
var f=document.forms[0];
var nombre=f.nombre.value;
var servicios=f.servicios.value
var email=f.mail.value;
var telefono=f.telefono.value;
var msg=f.msg.value;

if(!isString(nombre) || nombre=="Nombre"){
error += "\n <br /><span> El nombre es obligatorio.</span>";
document.getElementById("nombre").style.borderColo r= "#f00";
}
if(!isString(servicios) || servicios==""){
error += "\n <br /><span> El servicio es obligatorio.</span>";
document.getElementById("servicios").style.borderC olor= "#f00";
}
if(!isMail(email) || email=="E-mail"){
error += "\n <br /><span> El mail no es correcto.</span>";
document.getElementById("mail").style.borderColor= "#f00";
}

if(!isTelephone(telefono)){
error += "\n <br /><span> El telefono no es correcto.</span>";
document.getElementById("telefono").style.borderCo lor= "#f00";
}
if(!isString(msg) || msg == "Comentario"){
error += "\n <br /><span> El comentario es obligatorio.</span>";
document.getElementById("msg").style.borderColor= "#f00";
}
if(error==""){
return true;
} else{
formMsg("Revise los siguientes errores:" + error);

return false;
}
}
function limpia(objeto){
objeto.style.borderColor="#978b7e";
}

function cambiar(b,campo,porDefecto){
var input = document.getElementById(campo);
if (b && (input.value == "" || input.value == porDefecto)) {
input.value = "";
input.style.color = "#8C0224";
} else if (!b && input.value == "") {
input.value = porDefecto;
input.style.color = "#8C0224";
} else {
input.style.color = "#8C0224";
}
}
function validacheckboxex(){

if(!document.getElementById('check1').checked && !document.getElementById('check2').checked ){
error += "\n <br /><span> El check es obligatorio.</span>";
document.getElementById("msg").style.borderColor= "#f00";
}

}
function inicio(){
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++ ){
if (inputs[i].value != inputs[i].alt) {
//inputs[i].style.color = "#000";
inputs[i].value = inputs[i].alt;
}
}
}


function formMsg(t){
$("#formMsg").stop(true,true).html(t).show().delay (4000).fadeOut(10000);
}

Pido disculpas por el tocho pero creo que es la mejor forma para poder probarlo
Un saludo.
__________________
http://www.paxarindesign.es
  #2 (permalink)  
Antiguo 18/05/2012, 10:59
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 12 años, 8 meses
Puntos: 18
Respuesta: Envio de un input checkbox en un formulario

No ley todo el post porque lo redactaste mal, pero si te diigo que para verificRr si un checkbox fue habilitado debes agregarle un value en el html y cuando recibas el form verificar si el valor del post del checkbox es igual al que declaraste en el html si es asi lo aceptaron sino no
  #3 (permalink)  
Antiguo 18/05/2012, 11:03
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Envio de un input checkbox en un formulario

Cita:
Iniciado por edward18_1 Ver Mensaje
No ley todo el post porque lo redactaste mal, pero si te diigo que para verificRr si un checkbox fue habilitado debes agregarle un value en el html y cuando recibas el form verificar si el valor del post del checkbox es igual al que declaraste en el html si es asi lo aceptaron sino no
Podrias decirme que redacte mal para editarlo y subsanar el error, por favor?
__________________
http://www.paxarindesign.es
  #4 (permalink)  
Antiguo 18/05/2012, 11:38
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 12 años, 8 meses
Puntos: 18
Respuesta: Envio de un input checkbox en un formulario

Ok....debes introducir tus codigos en las etiquetas CODE de foros del web! ademas de solo mostrar tu codigo HTML del checkbox que utilizas para poder decirte que agregarle!
luego, el codigo donde validas los datos debe de quedarte asi
Código PHP:
Ver original
  1. if((isset($_POST['checkbox']))&&($_POST['checkbox']=="1")){
  2. //aqui debes ingresar todo lo que deba suceder si el checkbox fue habilitado
  3.  
  4. }else{
  5. //y aqui lo que sucede cuando no es habilitado ejemplo:
  6.  
  7. echo "No aceptaste los terminos asi que no se puede procesar el registro";
  8.  
  9. }
  #5 (permalink)  
Antiguo 18/05/2012, 12:10
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Envio de un input checkbox en un formulario

Cita:
Iniciado por edward18_1 Ver Mensaje
Ok....debes introducir tus codigos en las etiquetas CODE de foros del web! ademas de solo mostrar tu codigo HTML del checkbox que utilizas para poder decirte que agregarle!
luego, el codigo donde validas los datos debe de quedarte asi
Código PHP:
Ver original
  1. if((isset($_POST['checkbox']))&&($_POST['checkbox']=="1")){
  2. //aqui debes ingresar todo lo que deba suceder si el checkbox fue habilitado
  3.  
  4. }else{
  5. //y aqui lo que sucede cuando no es habilitado ejemplo:
  6.  
  7. echo "No aceptaste los terminos asi que no se puede procesar el registro";
  8.  
  9. }
Pero puedo volver a editarlo? es que no se como se puede hacer?
Gracias por la ayuda
__________________
http://www.paxarindesign.es

Etiquetas: checkbox, formulario, html, input, usuarios
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 23:39.