Foros del Web » Programando para Internet » Javascript »

Validar <input type=radio>

Estas en el tema de Validar <input type=radio> en el foro de Javascript en Foros del Web. Buenas tardes/noches!! Estoy haciendo un formulario, y para validar que los campos obligatorios estén rellenados estoy usando esto: Código PHP: Nombre :< input name = "txtnombre"  ...
  #1 (permalink)  
Antiguo 09/12/2006, 13:37
 
Fecha de Ingreso: octubre-2006
Ubicación: Quart de Poblet, Valencia
Mensajes: 767
Antigüedad: 17 años, 6 meses
Puntos: 8
Validar <input type=radio>

Buenas tardes/noches!!
Estoy haciendo un formulario, y para validar que los campos obligatorios estén rellenados estoy usando esto:
Código PHP:
Nombre:<input name="txtnombre" type="text" maxlength="30" size="20" tabindex="0">

<
script language="JavaScript">
function 
validate()
{
    if(
trim(document.form1.txtnombre.value) == "")
    {
        
alert("Por favor, introduce tu nombre");
        
document.form1.txtnombre.focus();
        return 
false;
    }
</script> 
El problema me viene a la hora de hacerlo con los botones de opción, los input de tipo radio.
Código PHP:
<input name=fumador type="radio" value="V3" name="txtNofuma">No fumadores.
<
input type="radio" name="txtFuma" value="V2"></font>Fumadores 
¿Cómo tengo que hacer para que valide si está contestado al menos uno de los dos?

Espero vuestra respuesta.

Como siempre, gracias de antemano ;)

Saluts!
  #2 (permalink)  
Antiguo 10/12/2006, 10:51
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 7 meses
Puntos: 16
De acuerdo Re: Validar <input type=radio>

El Script para tu formulario (incluyendo el del txtname)
Código HTML:
<script language="JavaScript"> 
function chkmail()
{
 if(document.form1.txtnombre.value == "")
  {
   alert("Por favor ingresa tu nombre");
   document.form1.txtnombre.focus();
   return false;
  }
}
////////////////////////////////////////////
    marcado=false; 
    function chkradio(f){ 
    if(!marcado){ 
    alert("Por favor, marque una casilla"); 
    return false; 
    } 
    else{ 
    return true; 
    } 
    } 
</script> 
Aqui esta el código de tu formulario

Código HTML:
<form name="form1" onsubmit="validar = (chkradio(this) && chkmail()); return validar;"> 
Nombre: <input type="text" name="txtnombre" maxlength="30" size="20" tabindex="0"><br><br><br>
<input type="radio" name="radiofuma" value="NO FUMADOR" onclick="marcado=true">No fumadores.<br>
<input type="radio" name="radiofuma" value="FUMADOR" onclick="marcado=true">Fumadores<br><br><br>
<input type="submit" name="enviar" value="Enviandoooo!"> 
</form> 
Fijate que todos los radio tienen una funcion ONCLICK y además (lo lógico) deben tener el mismo name ambos para ser interpretados como una o otra opción ....

No como tu lo hiciste que pusiste :

<input name=fumador type="radio" value="V3" name="txtNofuma">No fumadores.

<input type="radio" name="txtFuma" value="V2"></font>Fumadores

Si te fijas no tienen el mismo name y el primer radio tiene 2 name ª!!!!!


Saludos !
__________________
Adios ...!!!!
  #3 (permalink)  
Antiguo 10/12/2006, 18:35
 
Fecha de Ingreso: octubre-2006
Ubicación: Quart de Poblet, Valencia
Mensajes: 767
Antigüedad: 17 años, 6 meses
Puntos: 8
Re: Validar <input type=radio>

Ups, debio ser un error, quería poner

<input type="radio" name="txtFuma" value="Fumadores"></font>Fumadores
<input type="radio" name="txtFuma" value="No Fumadores"></font>No fumadores

Pero una cosa, el problema es que mi script continua, es algo así:
Código PHP:
<script language="JavaScript">
function 
validate()
{
    if(
trim(document.form1.txtname.value) == "")
    {
        
alert("Por favor, introduce tu nombre");
        
document.form1.txtname.focus();
        return 
false;
    }
    if(
trim(document.form1.txtapell.value) == "")
    {
        
alert("Por favor, introuduce al menos el primer apellido");
        
document.form1.txtapell.focus();
        return 
false;
    }
    if(
trim(document.form1.txtaddress.value) == "")
    {
        
alert("Por favor, introduce tu provincia, ciudad o algún lugar que indique tu procedencia");
        
document.form1.txtaddress.focus();
        return 
false;
    }
    if(
trim(document.form1.txtphone.value) == "")
    {
        
alert("Es necesario que introuzcas tu número de teléfono");
        
document.form1.txtphone.focus();
        return 
false;
    }
    
phoneno document.form1.txtphone.value;
    
len phoneno.length;
    if(
len 0)
    {
        for(
i=0;i<len;i++)
        {
            
phoneno.substr(i,1)
            if( !( (
>= '0' && <= '9') || == '-') )
            {
                
alert("Por favor, introduce un número de teléfono válido");
                
document.form1.txtphone.focus();
                return 
false;
            }
        }
    }
       

    if(
trim(document.form1.txtpersonas.value) == "")
    {
        
alert("Por favor, necesitamos saber para cuántas personas será la reserva");
        
document.form1.txtpersonas.focus();
        return 
false;
    }
    if(
trim(document.form1.txtfecha.value) == "")
    {
        
alert("Es imprescindible especificar la fecha");
        
document.form1.txtfecha.focus();
        return 
false;
    }

    
document.form1.cansend.value=1;

    return 
true;
}
function 
trim(str)
{
ch '';
for(
i=0;i<str.length;i++)
{
    
cha str.charAt(i);
    if(
cha != ' ')
    {
        
ch ch cha;
    }
}
return 
ch;
}
</script> 
Por favor, que sea complementario a ese script también sirve el que tu me has puesto?

Saludos.
  #4 (permalink)  
Antiguo 12/12/2006, 12:16
 
Fecha de Ingreso: octubre-2006
Ubicación: Quart de Poblet, Valencia
Mensajes: 767
Antigüedad: 17 años, 6 meses
Puntos: 8
Re: Validar <input type=radio>

Up...

¿Una ayudita por favor?

Gracias y saludos!
  #5 (permalink)  
Antiguo 13/12/2006, 12:16
 
Fecha de Ingreso: octubre-2006
Ubicación: Quart de Poblet, Valencia
Mensajes: 767
Antigüedad: 17 años, 6 meses
Puntos: 8
Re: Validar <input type=radio>

Por favor, no es de extrema urgencia, pero me haría falta para dentro de poco.
Alguien podría por favor echarme una manita?

Espero vuestra respuesta ;)

Saludos.
  #6 (permalink)  
Antiguo 15/12/2006, 20:14
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 7 meses
Puntos: 16
De acuerdo Re: Validar <input type=radio>

mmm.... inserta esto en tu javascript y cuentame


Código HTML:
var radio_choice = false;

for (counter = 0; counter < form1.txtFuma.length; counter++)
{
if (form1.txtFuma[counter].checked)
radio_choice = true; 
}

if (!radio_choice)
{
alert("Debe marcar una casilla")
return (false);
}
return (true);
}
Fijate bien en esta linea
form1.txtFuma.length

y esta
form1.txtFuma[counter].checked

que ambas coincidan (el primer parrafo (form1) es el name del form, despues el (txtFuma) es el name de los radio botton) ... fijate que txtFuma esta en mayusculas ....

Ahí me cuentas mo te fue

adios saludos !
__________________
Adios ...!!!!
  #7 (permalink)  
Antiguo 16/12/2006, 04:54
 
Fecha de Ingreso: octubre-2006
Ubicación: Quart de Poblet, Valencia
Mensajes: 767
Antigüedad: 17 años, 6 meses
Puntos: 8
Re: Validar <input type=radio>

Muchas gracias, creo que perfecto, sólo le he tenido que quitar la línea
Código PHP:
return (false);

Y dejar solo el return (true).

Si tengo algún problema más os aviso, pero muchas gracias.
Saludos!!
  #8 (permalink)  
Antiguo 16/12/2006, 05:17
 
Fecha de Ingreso: octubre-2006
Ubicación: Quart de Poblet, Valencia
Mensajes: 767
Antigüedad: 17 años, 6 meses
Puntos: 8
Re: Validar <input type=radio>

Vale....

Problema....

Con IE sí que funciona, pero con Firefox no hace absolutamente nada, le doy a "enviar" y vuelve otra vez al formulario, dejándolo en blanco.

Solución?

Saludos!
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 15:44.