Hola, reuslta que necesito hacer un formulario en el que al elegir sexo M(radio button) se bloqueen dos radio button de un grupo(el grupo consta de 5 radio buttons) y si pongo sexo F(radio button), entonces que se bloqueen los otros radio buttons del grupo.
Aca dejo el codigo Html, javascript, PHP(este no lo e modificado pero lo pongo igual) que tengo.
Código HTML:
<html>
<head>
<title>Formulario de Contacto en PHP por Dasumo</title>
<!-- Inicio enlace al archivo de validación -->
<script type="text/javascript" src="validar.js"></script>
<!-- Fin enlace al archivo de validación -->
</head>
<body>
<!-- Inicio Formulario de Contacto por Dasumo-->
<div align="center">
<form method="post" action="contacto.php" onSubmit="return Validar(this);">
<label for="name">Nombre:<br>
<input id="name" name="name" type="text" size="27"> </label><br><br>
<label for="apellido">Apellido:<br>
<input id="apellido" name="apellido" type="text" size="27">
</label><br><br>
<label for="email">Correo Electrónico:<br>
<input id="email" name="email" type="text" size="27"> </label><br><br>
<label for="sexo">Sexo:<br>
Masculino
<input type="radio" name="sexo" value="M">
Femenino
<input type="radio" name="sexo" value="F">
</label><br><br>
<label for="edad">Edad:
<input id"edad" name="edad" type"text" size="1" maxlength="2"> </label><br><br>
<label for"upa">Usted pertenece a:<br>
A
<input type="radio" name="upa" value="A"><br>
B
<input type="radio" name="upa" value="B"><br>
C
<input type="radio" name="upa" value="C"><br>
D
<input type="radio" name="upa" value="D"><br>
E
<input type="radio" name="upa" value="E"><br><br>
</label>
<input type="submit" name="submit" value="Enviar" /><br>
</form>
</div>
<!-- Fin Formulario de contacto -->
</body>
</html>
Código Javascript
:
Ver originalfunction Validar(f) {
if (f.name.value=='') {
alert("Por favor escriba su Nombre");
f.name.focus();
return (false);
}
if (f.apellido.value=='') {
alert("Por favor escriba su Apellido");
f.apellido.focus();
return (false);
}
if (f.email.value=='') {
alert("Por favor escriba su dirección de correo electrónico");
f.email.focus();
return (false);
}
var patron = /^[0-9a-zA-Z]+(?:[._][0-9a-zA-Z]+)*@[0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*\.[0-9a-zA-Z]{2,4}$/;
if (!patron.test(f.email.value)){
alert("La dirección de email no es correcta.")
return (false)
}
var s="no";
if(f.sexo[1].checked);
for ( var i = 0; i < f.sexo.length; i++ )
{
if (f.sexo[i].checked ){;
s= "si";
break;
}
}
if ( s == "no" ){
alert( "Por favor debe seleccionar Masculino o Femenino" ) ;
return(false);
}
if (f.edad.value=='') {
alert("Por favor instrodusca su edad.");
f.edad.focus();
return (false);
}
var s="no";
if(f.upa[1].checked);
for ( var i = 0; i < f.upa.length; i++ )
{
if (f.upa[i].checked ){;
s= "si";
break;
}
}
if ( s == "no" ){
alert( "Por favor elija una de las opciones." ) ;
return(false);
}
}
Editado: Codigo JS editado, es lo ultimo que llevo.
Código PHP:
<?php
//Importamos las variables del formulario
@$name = addslashes($_POST['name']);
@$email = addslashes($_POST['email']);
@$subject = addslashes($_POST['subject']);
@$message = addslashes($_POST['message']);
//Preparamos el mensaje de contacto
$cabeceras = "From: $email\n" //La persona que envia el correo
. "Reply-To: $email\n";
$asunto = "$subject"; //El asunto
$email_to = "[email protected]"; //cambiar por tu email
$contenido = "$name le ha enviado el siguiente mensaje:\n"
. "\n"
. "$message\n"
. "\n";
//Enviamos el mensaje y comprobamos el resultado
if (@mail($email_to, $asunto ,$contenido ,$cabeceras )) {
//Si el mensaje se envía muestra una confirmación
die("Muchas gracias, su mensaje fue enviado correctamente");
}else{
//Si el mensaje no se envía muestra el mensaje de error
die("Error: Su mensaje no pudo ser enviado, intente más tarde");
}
?>
Por ultimo si se fijan en el codigo javascript estan las opciones para validar y dentro de eso estan las de los radio buttons pero no se por que, no me esta funcionando. Trae poniendo el value=='0' y con el value=='' y no me funciona niuno de los dos.
Alguna ayuda?
Editado: Lo de la validacion del Radio button ya lo solucione, aca dejo el codigo para validarlo:
Código Javascript
:
Ver originalvar s="no";
if(f.sexo[1].checked);
for ( var i = 0; i < f.sexo.length; i++ )
{
if (f.sexo[i].checked ){;
s= "si";
break;
}
}
if ( s == "no" ){
alert( "Debe seleccionar hombre o mujer" ) ;
return(false);
}
}
Eso si aun tengo el problema para bloquear radiobuttons especificos dentro de un grupo de radio buttons.
Alguien que me ayude??
Saludos