Foros del Web » Programando para Internet » Javascript »

Validar radio button

Estas en el tema de Validar radio button en el foro de Javascript en Foros del Web. Tengo 2 radio button con nombre "tipo" y me gustaria q sea obligatorio seleccionar uno. Uso este codigo pero nada.... gracias Código PHP: function  novacio1 ...
  #1 (permalink)  
Antiguo 17/03/2005, 08:56
Avatar de cometron  
Fecha de Ingreso: mayo-2003
Ubicación: Madrid
Mensajes: 151
Antigüedad: 21 años, 5 meses
Puntos: 0
Validar radio button

Tengo 2 radio button con nombre "tipo" y me gustaria q sea obligatorio seleccionar uno. Uso este codigo pero nada.... gracias
Código PHP:
function novacio1(){
if(
document.form1.tipo.checked!=''){
document.form1.submit();
//historico.location.reload();
return;
}else{
alert("Debe seleccionar una fecha. Si quiere cancelar pulse Salir");
}

  #2 (permalink)  
Antiguo 17/03/2005, 09:15
 
Fecha de Ingreso: marzo-2005
Mensajes: 2
Antigüedad: 19 años, 8 meses
Puntos: 0
Prueba con esto

function novacio1()
{
if(document.forms['form1'].elements['tipo'].checked){...}
else{...}
}
  #3 (permalink)  
Antiguo 17/03/2005, 09:44
Avatar de renton  
Fecha de Ingreso: enero-2004
Ubicación: BCN (PPCC)
Mensajes: 573
Antigüedad: 20 años, 9 meses
Puntos: 1
A lo mejor para tu form no te parece correcto, pero ¿Y si marcas uno por defecto? (el que en principio vaya a ser el mas usado)
Un saludo!
__________________
"No et limites a contemplar aquestes hores que ara venen, baixa al carrer i participa.
No podran res davant un poble unit, alegre i combatiu!!"
  #4 (permalink)  
Antiguo 18/03/2005, 03:19
Avatar de cometron  
Fecha de Ingreso: mayo-2003
Ubicación: Madrid
Mensajes: 151
Antigüedad: 21 años, 5 meses
Puntos: 0
no funciona

hola,
probe como dijiste davinci pero no me funciona...

renton, como deberia de hacerlo segun lo q me dices?

gracias

un saludo
  #5 (permalink)  
Antiguo 18/03/2005, 17:09
Avatar de renton  
Fecha de Ingreso: enero-2004
Ubicación: BCN (PPCC)
Mensajes: 573
Antigüedad: 20 años, 9 meses
Puntos: 1
ok, la opcion que te decia esq en uno de los dos radios pusieras cpmo propiedad "selected", ejemplo:

Código:
<input type="radio" name="nombreRadio1" value="1" selected> Valor 1
OPero si de todasformas quieres comprobarlo por codigo, esta funcion te fncionara:

Código:
function validar()
{
if((nombreForm.nombreRadio1.checked==true)||(nombreForm.nombreRadio2.checked==true))
{
     //ok, uno de los dos ha sido marcado
}
else{
     // error, ninguno ha sido marcado
}
}
Un saludo!!
__________________
"No et limites a contemplar aquestes hores que ara venen, baixa al carrer i participa.
No podran res davant un poble unit, alegre i combatiu!!"
  #6 (permalink)  
Antiguo 21/03/2005, 03:57
Avatar de cometron  
Fecha de Ingreso: mayo-2003
Ubicación: Madrid
Mensajes: 151
Antigüedad: 21 años, 5 meses
Puntos: 0
Hemos hecho esto mismo y no funciona. Nos devuelve de
Código PHP:
alert(form1.tipo.checked); 
Undefined
Tanto sin seleccionar un radio como seleccionandolo. Y siempre le llega al else
  #7 (permalink)  
Antiguo 21/03/2005, 04:00
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Hola cometron

¿Podrías poner el formulario que está usando a ver que rayos puede estar pasando?

Saludos,
  #8 (permalink)  
Antiguo 21/03/2005, 05:02
Avatar de cometron  
Fecha de Ingreso: mayo-2003
Ubicación: Madrid
Mensajes: 151
Antigüedad: 21 años, 5 meses
Puntos: 0
Al final lo he solucionado de esta forma
Código PHP:
var valor;
function 
validar()
{

 for(
a=0;a<form1.tipo.length;a++){
    if(
form1.tipo[a].checked){
    
valor form1.tipo[a].value;
    }
    }
if((
valor=="max") || (valor=="min"))
{
    
alert("si");
}
else{
     
// error, ninguno ha sido marcado
    
alert("Error ninguno ha sido marcado");

}

Tengo dos radios pero se llaman igual. Un saludo y muchas gracias a todos
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 18:47.