Foros del Web » Programando para Internet » Javascript »

Validacion de radios

Estas en el tema de Validacion de radios en el foro de Javascript en Foros del Web. Que tal me pueden ayudar a validar tres grupos de radios, a que deben de estar seleccionados uno de cada grupo, y de no ser ...
  #1 (permalink)  
Antiguo 02/04/2005, 09:08
 
Fecha de Ingreso: enero-2004
Mensajes: 4
Antigüedad: 20 años, 3 meses
Puntos: 0
Mensaje Validacion de radios

Que tal me pueden ayudar a validar tres grupos de radios, a que deben de estar seleccionados uno de cada grupo, y de no ser así, mandarme un mensaje, tengo un codigo pero no me funciona, espero lo pueden checar y decirme donde esta el error, agradesco su ayuda

function validar()
{
var sel = false;
var r;
for(r=1; r<3; r++)
{
for(var i=1; i<3; i++)
{
if (thisForm.rd[r][i].checked)
{
sel = true;
break;
}
}
}
if (sel == false)
{
alert("debe seleccionar una opcion");
return false;
}
else
{
thisForm.submit();
}
}
  #2 (permalink)  
Antiguo 02/04/2005, 13:45
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
Hola
Así, sin ver cómo están definidos los controles radio, no es fácil. Intenta explicar qué es lo que "no funciona".
Para empezar, yo diría que si tienes 3 grupos con 3 opciones cada uno, tus bucles deben ser
for(r=1; r<4
o bien
for(r=0; r<3
dependiendo de cómo estén nombrados en el formulario.
Ahora sólo estás validando 2 de los 3.
__________________
Angel :cool:
  #3 (permalink)  
Antiguo 03/04/2005, 22:56
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
checa esto

esto lo encontre aqui en el foro
function validar() {
var sel=false;
if(thisForm.rd1.length==undefined) {
if(thisForm.rd1.checked)
sel=true;
}
else

for(var i=0; i<3; i++) {
if (thisForm.rd1[i].checked) {
sel = true;
break;
}
}

if (sel == false) {
alert("debe seleccionar una opcion");
} else {
thisForm.submit();
}
}
__________________
gerardo
  #4 (permalink)  
Antiguo 03/04/2005, 23:20
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 4 meses
Puntos: 13
En cada grupo de radios, deja uno seleccionado por defecto y listo, así no te haces problemas.

<input type="radiobutton" name="blabla" id="blabla" checked="checked">
__________________
El conocimiento es libre: Movimiento por la Devolución
  #5 (permalink)  
Antiguo 07/04/2005, 06:47
 
Fecha de Ingreso: enero-2004
Mensajes: 4
Antigüedad: 20 años, 3 meses
Puntos: 0
De acuerdo Ya quedo!

Por fin me quedo lo que queria, les pongo el codigo por si alguien tiene el mismo problema lo pueda solucionar de esta forma, y sin tener que usuar un radio predeterminado, saludos...


function validar(form)
{
var el = document.ESTO.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) {
aqui pones la acción que quieras
}
return true
} else {
alert("No ha respondido todas las preguntas");
return false;
}

}
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 09:21.