Foros del Web » Programando para Internet » Javascript »

Bloquear radio button con un radio button.

Estas en el tema de Bloquear radio button con un radio button. en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 30/04/2011, 12:09
 
Fecha de Ingreso: abril-2011
Ubicación: ur
Mensajes: 21
Antigüedad: 13 años
Puntos: 0
Pregunta Bloquear radio button con un radio button.

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 original
  1. function Validar(f) {
  2. if (f.name.value=='') {
  3.     alert("Por favor escriba su Nombre");
  4.     f.name.focus();
  5.     return (false);
  6.     }
  7.     if (f.apellido.value=='') {
  8.     alert("Por favor escriba su Apellido");
  9.     f.apellido.focus();
  10.     return (false);
  11.     }
  12. if (f.email.value=='') {
  13.     alert("Por favor escriba su dirección de correo electrónico");
  14.     f.email.focus();
  15.     return (false);
  16.     }
  17.    
  18.  var patron = /^[0-9a-zA-Z]+(?:[._][0-9a-zA-Z]+)*@[0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*\.[0-9a-zA-Z]{2,4}$/;
  19. if (!patron.test(f.email.value)){
  20. alert("La dirección de email no es correcta.")
  21. return (false)
  22. }
  23.  
  24. var s="no";
  25. if(f.sexo[1].checked);
  26. for ( var i = 0; i < f.sexo.length; i++ )
  27. {
  28. if (f.sexo[i].checked ){;
  29.  
  30. s= "si";
  31. break;
  32. }
  33. }
  34. if ( s == "no" ){
  35. alert( "Por favor debe seleccionar Masculino o Femenino" ) ;
  36. return(false);
  37. }
  38.  
  39.  
  40.     if (f.edad.value=='') {
  41.     alert("Por favor instrodusca su edad.");
  42.     f.edad.focus();
  43.     return (false);
  44.     }
  45.    
  46.    
  47.     var s="no";
  48. if(f.upa[1].checked);
  49. for ( var i = 0; i < f.upa.length; i++ )
  50. {
  51. if (f.upa[i].checked ){;
  52.  
  53. s= "si";
  54. break;
  55. }
  56. }
  57. if ( s == "no" ){
  58. alert( "Por favor elija una de las opciones." ) ;
  59. return(false);
  60. }
  61. }
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 original
  1. var s="no";
  2. if(f.sexo[1].checked);
  3. for ( var i = 0; i < f.sexo.length; i++ )
  4. {
  5. if (f.sexo[i].checked ){;
  6.  
  7. s= "si";
  8. break;
  9. }
  10. }
  11. if ( s == "no" ){
  12. alert( "Debe seleccionar hombre o mujer" ) ;
  13. return(false);
  14. }
  15. }

Eso si aun tengo el problema para bloquear radiobuttons especificos dentro de un grupo de radio buttons.

Alguien que me ayude??

Saludos

Última edición por Vicnaz; 30/04/2011 a las 13:45
  #2 (permalink)  
Antiguo 30/04/2011, 14:26
 
Fecha de Ingreso: abril-2011
Ubicación: ur
Mensajes: 21
Antigüedad: 13 años
Puntos: 0
Respuesta: Bloquear radio button con un radio button.

Alguien que tenga una solucion?, ya use el buscador pero no encuentro un tema que diga como des habilitar un radio button especifico dentro de un grupo de radio button.

Saludos..
  #3 (permalink)  
Antiguo 30/04/2011, 17:37
 
Fecha de Ingreso: abril-2011
Ubicación: ur
Mensajes: 21
Antigüedad: 13 años
Puntos: 0
Respuesta: Bloquear radio button con un radio button.

Tengo este codigo ahora perno sigue sin funcionar.

Código Javascript:
Ver original
  1. meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  2. <html>
  3. <head>
  4. <title>Formulario de Contacto en PHP por Dasumo</title>
  5. <script type="text/javascript" src="validar.js"></script>
  6. <script language="Javascript">
  7. function bloquear(){
  8. var form = document.formulario;
  9.     if(form.sexo[0].checked){
  10.         form.upa[0].disabled = true;
  11.         form.upa[1].disabled = true;
  12.         form.upa[2].disabled = false;
  13.         form.upa[3].disabled = false;
  14.         form.upa[4].disabled = false;
  15.     }else if(form.sexo[1].checked){
  16.         form.upa[0].disabled = false;
  17.         form.upa[1].disabled = false;
  18.         form.upa[2].disabled = true;
  19.         form.upa[3].disabled = true;
  20.         form.upa[4].disabled = false;
  21.     }
  22. }
  23. </script>
  24. </head>
  25. <body>
  26. <!-- Inicio Formulario de Contacto por Dasumo-->
  27. <div align="left">
  28. <form method="post" action="contacto.php" onSubmit="return Validar(this);" name="formulario">
  29.     <label for="name">Nombre:
  30.     <input id="name" name="name" type="text" size="27"> </label><br><br>
  31.     <label for="apellido">Apellido:
  32.     <input id="apellido" name="apellido" type="text" size="27">
  33.     </label><br><br>
  34.     <label for="email">Correo Electr&#243;nico:
  35.     <input id="email" name="email" type="text" size="27"> </label>
  36.    
  37. <br><br>
  38.    
  39. <label for="sexo">Sexo:<br>
  40. Masculino<input type="radio" name="sexo" value="M">
  41. Femenino<input type="radio" name="sexo" value="F"></label>
  42.  
  43. <br><br>
  44.  
  45. <label for="edad">Edad:
  46. <input id"edad" name="edad" type="text" size="1" maxlength="2"> </label>
  47.  
  48. <br><br>
  49.  
  50. <label for"upa">Usted pertenece a:<br>
  51. A<input type="radio" name="upa" value="A" disabled><br>
  52. B<input type="radio" name="upa" value="B" disabled><br>
  53. C<input type="radio" name="upa" value="C" disabled><br>
  54. D<input type="radio" name="upa" value="D" disabled><br>
  55. E<input type="radio" name="upa" value="E" disabled><br><br>
  56. </label>
  57.  
  58.     <input type="submit" name="submit" value="Enviar" /><br>
  59. </form>
  60. </div>
  61. <!-- Fin Formulario de contacto -->
  62. </body>
  63. <style = "text/css">
  64. body{
  65.     font-family: Arial, Helvetica, sans-serif;
  66.     font-size:14px;
  67. }
  68. </style>
  69. </html>

pero este que me dieron de ejemplo si funciona
Código Javascript:
Ver original
  1. <html>
  2. <head><title>Prueba</title>
  3. <script language="Javascript">
  4. function bloquear(){
  5. var form = document.formulario;
  6.     if(form.sexo[0].checked){
  7.         form.estilo[0].disabled = true;
  8.         form.estilo[1].disabled = true;
  9.         form.estilo[2].disabled = false;
  10.         form.estilo[3].disabled = false;
  11.     }else if(form.sexo[1].checked){
  12.         form.estilo[0].disabled = false;
  13.         form.estilo[1].disabled = false;
  14.         form.estilo[2].disabled = true;
  15.         form.estilo[3].disabled = true;
  16.     }
  17. }
  18. </script>
  19. </head>
  20. <body>
  21. <form method="POST" name="formulario">
  22. <font color='red'>Elija su sexo:</font><br>
  23. <input type="radio" name="sexo" onclick="bloquear();">Masculino</input>
  24. <input type="radio" name="sexo" onclick="bloquear();">Femenino</input> <br>
  25. <font color='red'>C&#243;mo se le ve ?</font><br>
  26. <input type="radio" name="estilo" value="Rubia" disabled>Rubia</input>
  27. <input type="radio" name="estilo" value="Morocha" disabled>Morocha</input>
  28. <input type="radio" name="estilo" value="Rubio" disabled>Rubio</input>
  29. <input type="radio" name="estilo" value="Morocho" disabled>Morocho</input>
  30. </form>
  31. </body>
  32. </html>

Alguna ayuda?
  #4 (permalink)  
Antiguo 30/04/2011, 20:43
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Bloquear radio button con un radio button.

buenas,
compara tu codigo actual con el codigo de ejemplo. ¿que tiene de diferente? para darte una pista, analiza especificamente los radios sexo. ya tienes la funcion, pero una funcion no se interpreta por si sola sino que tiene que ser invocada, ya sea explicitamente (el autor la invoca) o implicitamente (el usuario u otro proceso la invoca). generalmente, la invocacion por parte del usuario se lleva a cabo atraves de eventos realizados (mouse, keyboard, u otra clasificacion).

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: bloquear, radio
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 03:05.