Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Validar radio button! Imposible!Ayuda por favor!

Estas en el tema de Validar radio button! Imposible!Ayuda por favor! en el foro de Javascript en Foros del Web. Hola, he buscado bastante sobre el tema y no encuentro nada que me sirva. El caso es que estoy trabajando en un formulario con varios ...
  #1 (permalink)  
Antiguo 21/05/2013, 13:36
 
Fecha de Ingreso: febrero-2011
Mensajes: 19
Antigüedad: 13 años, 9 meses
Puntos: 2
Exclamación Validar radio button! Imposible!Ayuda por favor!

Hola, he buscado bastante sobre el tema y no encuentro nada que me sirva.
El caso es que estoy trabajando en un formulario con varios campos y consigo validarlos todos por javascript menos el maldito radio button.


Alguien queme ayude a validarlo por favor!

Ahi va el Codigo:

--HTML--

<form action="gracias.html" name="f2" method="post" onsubmit="return validarFormulario();">


<table cellpadding="3">
<tr>

<td bgcolor="#C94A42">Nombre:</td>
<td bgcolor="#C94A42"><input type="text" name="Nombre" id="nombre" maxlength="10" size="30"/></td>

</tr>
<tr>

<td bgcolor="#C94A42">Contrase&ntilde;a:</td>
<td bgcolor="#C94A42"><input type="password" id="pass" name="Pass" maxlength="10" size="30"/></td>

</tr>
<tr>

<td bgcolor="#C94A42">Repetir Contrase&ntilde;a:</td>
<td bgcolor="#C94A42"><input type="password" id="pass2" name="Pass2" maxlength="10" size="30"/></td>

</tr>
<tr>

<td bgcolor="#C94A42">Sexo:</td>
<td bgcolor="#C94A42">Hombre<input type="radio" name="sexo" value="H"/>Mujer<input type="radio" name="sexo" value="M"/></td>

</tr>
<tr>

<td bgcolor="#C94A42">Nacionalidad:</td>
<td bgcolor="#C94A42"><select id="nacionalidad" name="nacionalidad">

<option value=""selected="selected">--Seleccione nacionalidad--</option>
<option value="en">USA</option>
<option value="de">Alemania</option>
<option value="es">Espa&ntilde;a</option>

</select>
</td>

</tr>
<tr>

<td bgcolor="#C94A42">Observaciones:</td>
<td bgcolor="#C94A42"><textarea name="comentarios" rows="6" cols="60" placeholder="Escriba su consulta..."></textarea></td>

</tr>
<tr>

<td bgcolor="#C94A42" colspan="2">Mostrar sexo y edad <input type="checkbox" name="mostrar" id="mostrar" value="1" />
Acepto las condiciones <input type="checkbox" name="acepto" id="acepto" value="1" />
</td>


</tr>


<tr>
<td align="center" colspan="2"><input type="reset" name="limpiar campos" value="Limpiar campos" /> <input type="submit" value="Registrarse" /></td>
</tr>

</table>

</form>


--JAVASCRIPT--

function validarFormulario()



{

/*------------------------------- Nombre ------------------------------*/

var nombre;


nombre = document.getElementById('nombre');

if( nombre.value =='')

{

alert('Error: Rellene el nombre');

return false;

} /*------------------------------- Contraseña ------------------------------*/


var pass;


pass = document.getElementById('pass');

if( pass.value == '')


{

alert('Error: Rellene contraseña');

return false;

}
/*------------------------------- Contraseña 2 ------------------------------*/


var pass2;

pass2 = document.getElementById('pass2');

if( pass2.value == '')

{

alert('Error: Rellene segunda contraseña');

return false;

} /*------------------------------- Contraseñas iguales ------------------------------*/



if(pass2.value !=pass.value)

{

alert('Las contraseñas no coinciden');

return false;

} /*------------------------------- Sexo ------------------------------*/


??¿¿??¿¿






/*------------------------------- Nacionalidad ------------------------------*/




var nacionalidad;

nacionalidad = document.getElementById('nacionalidad').selectedIn dex;

if( nacionalidad == null || nacionalidad == 0 )


{
alert('Error: Seleccione nacionalidad');

return false;
}



/*------------------------------- Acepto ------------------------------*/



var acepto;

acepto = document.getElementById('acepto');

if(!acepto.checked)

{

alert('Error: Acepte las condiciones');

return false;

}






else

{
return true;
}

}








Muchas Gracias de antemano.

Un saludo.
  #2 (permalink)  
Antiguo 21/05/2013, 14:10
Avatar de alberto510a  
Fecha de Ingreso: abril-2013
Mensajes: 351
Antigüedad: 11 años, 6 meses
Puntos: 35
Respuesta: Validar radio button! Imposible!Ayuda por favor!

Hola yo los suelo comprobar a partir de los elementos del formulario con un array mira te dejo un ejemplo:

Código Javascript:
Ver original
  1. <script>
  2. function a(){
  3.     if (document.form.elements[0].checked || document.form.elements[1].checked ){}
  4.     else{alert('Hay un elemento que no está seleccionado')};
  5. }
  6.  
  7. </script>
Código HTML:
Ver original
  1. <form name="form">
  2. Hombre<input type="radio" name="sexo" value="H"/>Mujer<input type="radio" name="sexo" value="M"/>
  3. </form>

En este caso el formulario tiene 2 elementos lo que hago es comprobar si el 1º está con check sino es así hago lo mismo en el segundo y si ninguno está salta "else" con una alerta.

Espero haberte ayudado,
Saludos.
__________________
No hay preguntas tontas, sino tontos que no preguntan.
  #3 (permalink)  
Antiguo 21/05/2013, 15:07
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: Validar radio button! Imposible!Ayuda por favor!

Hola,

Código Javascript:
Ver original
  1. function any(list, predicate)
  2. {
  3.     var length = list.length;
  4.    
  5.     if (typeof predicate == "function")
  6.     {
  7.         for (var i = 0; i < length; i++)
  8.         {
  9.             if (predicate(list[i]))
  10.             {
  11.                 return true;
  12.             }
  13.         }
  14.     }
  15.    
  16.     return false;
  17. }
  18.  
  19. var elements = document.getElementsByName("sexo");
  20.  
  21.  
  22.  
  23. if (!any(elements, function (obj) { return obj.checked; }))
  24.     {
  25.         alert("Tienes que seleccionar un elemento");  
  26.     }

Un saludo.
  #4 (permalink)  
Antiguo 23/05/2013, 08:16
 
Fecha de Ingreso: febrero-2011
Mensajes: 19
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: Validar radio button! Imposible!Ayuda por favor!

Gracias a los dos por contestar. Al final lo solucione poniendoles un "id" de la siguiente manera:



var h = document.getElementById('hombre');
var m = document.getElementById('mujer');

if ( (h.checked == false ) && (m.checked == false ) )
{
alert ( 'Error : Seleccione sexo');

return false;
}

Gracias igualmente, un saludo.

Etiquetas: button, formulario, html, radio, validacion
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 16:28.