Foros del Web » Programando para Internet » Javascript »

Radio

Estas en el tema de Radio en el foro de Javascript en Foros del Web. En la Faq's encontre este codigo y no lo puedo hacer funcionar alguien que me ayude es para que no se pueda enviar un formulario ...
  #1 (permalink)  
Antiguo 21/10/2003, 11:57
Avatar de affv  
Fecha de Ingreso: diciembre-2002
Ubicación: Ahora aqui
Mensajes: 485
Antigüedad: 21 años, 4 meses
Puntos: 0
[Resuelto]Radio

En la Faq's encontre este codigo y no lo puedo hacer funcionar alguien que me ayude es para que no se pueda enviar un formulario si todos los radio no estan sin seleccionar


var el = document.(tu formulario).elements;
for (var i = 0 ; i < el.length ; ++i) {
if (el[i].type == "radio") {
var radiogroup = el[el[i].name];
var itemchecked = false;
for (var j = 0 ; j < radiogroup.length ; ++j) {
if (radiogroup[j].checked) {
itemchecked = true;
break;
}
}
if (!itemchecked) {
i=0;
break;
}
}
}
if (i>0) {
return true;
} else {
alert("No ha respondido todas las preguntas");
return false;
}
__________________
Todo tiene un comienzo y un fin!!
Postea tus proyectos

Última edición por KarlanKas; 23/10/2003 a las 10:32
  #2 (permalink)  
Antiguo 23/10/2003, 09:11
Avatar de affv  
Fecha de Ingreso: diciembre-2002
Ubicación: Ahora aqui
Mensajes: 485
Antigüedad: 21 años, 4 meses
Puntos: 0
Alguien que me ayude por favor, solo necesito validar radio botones???
__________________
Todo tiene un comienzo y un fin!!
Postea tus proyectos
  #3 (permalink)  
Antiguo 23/10/2003, 09:16
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Hola affv.

¿De cual FAQ estamos hablando?
  #4 (permalink)  
Antiguo 23/10/2003, 09:26
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Hola affv.

Lo que debes hacer es colocar el código dentro de una función y luego llamar a la función cuando vayas a validar.

Código PHP:
<html>
 <
head>
  <
script language="JavaScript">

   function 
valida(){
    var 
el document.frm.elements;
    for (var 
el.length ; ++i) {
     if (
el[i].type == "radio") {
      var 
radiogroup el[el[i].name];
      var 
itemchecked false;
      for (var 
radiogroup.length ; ++j) {
       if (
radiogroup[j].checked) {
        
itemchecked true;
        break;
       }
      }
      if (!
itemchecked) { 
       
i=0;
       break;
      }
     }
    }
    if (
i>0) {
     return 
true;
    } else {
     
alert("No ha respondido todas las preguntas");
     return 
false;
    }
   }

  
</script>
 </head>
 <body>
  <form name="frm">
   <input type="radio" name="r1" value = "0">
   <input type="radio" name="r1" value = "1">
   <input type="radio" name="r1" value = "2"><br>
   <input type="radio" name="r2" value = "0">
   <input type="radio" name="r2" value = "1">
   <input type="radio" name="r2" value = "2"><br>
   <input type="button" value="Validar" onclick="valida()">
  </form>
 </body>
</html> 
Saludos.
  #5 (permalink)  
Antiguo 23/10/2003, 10:26
Avatar de affv  
Fecha de Ingreso: diciembre-2002
Ubicación: Ahora aqui
Mensajes: 485
Antigüedad: 21 años, 4 meses
Puntos: 0
Muchas gracias justo lo que necesitaba
__________________
Todo tiene un comienzo y un fin!!
Postea tus proyectos
  #6 (permalink)  
Antiguo 23/10/2003, 10:30
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Ese código sólo chequea que alguno de los radio buttons esté chequeado de manera tal que si hay algun grupo de radios sin pinchar no va a saltar. ¿Es eso lo que quieres?

Una opción sencilla sería poner tantos hidden como grupos de radios haya y poner en todos los radios que cambie el valor de dicho hidden si se pincha sobre ellos. Un ejemplo sería:
Código PHP:
<html>
<
head>
    <
title>Prueba</title>
    <
script>
function 
comprobar(){
    var 
elementos document.forms[0].elements;
    for (var 
elementos.length ; ++i) {
        if (
elementos[i].type == "hidden" && elementos[i].value=="no") {
                
alert("No ha respondido todas las preguntas");
                return 
false
            
}
        }
        
document.forms[0].submit()
}
    
</script>
    <style>
    form,input{
    font:normal 10px/10px verdana;
    
    }
    </style>
</head>

<body bgcolor="silver"><center>
<form style="text-align:left;border:solid 1px black;background:white;padding: 30px;width:250px;" action="javascript:alert('Enviando!!')" >
<p style="font:bold 15px/15px verdana;text-align:center">Super encuesta</p>
<input type=hidden name=pruebapepe value="no">
<input type=hidden name=pruebajuan value="no">
<b>¿Qué nombre tiene Pepe?</b><br>

<input type="radio" name="pepe" value="1" onclick=eval("document.forms[0].prueba"+this.name+".value='si'")>José<br>

<input type="radio" name="pepe" value="2" onclick=eval("document.forms[0].prueba"+this.name+".value='si'")>Juan José<br>

<input type="radio" name="pepe" value="3" onclick=eval("document.forms[0].prueba"+this.name+".value='si'")>Federico José<br>
<br>
<b>¿Qué nombre tiene Juan?</b><br>

<input type="radio" name="juan" value="1" onclick=eval("document.forms[0].prueba"+this.name+".value='si'")>Juanito el Boina<br>

<input type="radio" name="juan" value="2" onclick=eval("document.forms[0].prueba"+this.name+".value='si'")>Juan José<br>

<input type="radio" name="juan" value="3" onclick=eval("document.forms[0].prueba"+this.name+".value='si'")>Juanin el chiquitín<br>
<br>
<b>Nombre de la Madre:</b><br>
<input value="opcional" onfocus="if(this.value=='opcional'){this.value=''}" type=text name=madre><br>
<br>



<input type="button" onclick="comprobar()" value="Enviar consulta">
</form>
</center>

</body>
</html> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #7 (permalink)  
Antiguo 23/10/2003, 10:31
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Oppps!! Me entretuve demasiado con las filigranas...
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #8 (permalink)  
Antiguo 23/10/2003, 15:07
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Jeje.

Es lo malo de ser tan imaginativo, que alguien mas parco puede ganarte la partida. Esperemos a ver si la nueva versión de vBulletin trae algo como "bloquear hilo".

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 17:33.