Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/05/2012, 10:55
Avatar de paxarin
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