Foros del Web » Programando para Internet » Javascript »

Validación Radiobutton

Estas en el tema de Validación Radiobutton en el foro de Javascript en Foros del Web. Hola quisiera saber como puedo validar un sólo radiobutton, en las faq hay un codigo para validar todos, pero en mi form no es mi ...
  #1 (permalink)  
Antiguo 08/06/2004, 09:20
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 21 años, 4 meses
Puntos: 0
Validación Radiobutton

Hola quisiera saber como puedo validar un sólo radiobutton, en las faq hay un codigo para validar todos, pero en mi form no es mi caso y yo sólo quiero validar 1 solo (Si / No)

<!-- Pregunta1-->
SI <input name="pregunta1" type="radio" value="1" tabindex="2"> NO <input name="pregunta1" type="radio" value="2" tabindex="2">
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
  #2 (permalink)  
Antiguo 08/06/2004, 11:04
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61
Y qué quieres validar?

Tal vez si estudias un poco el de las faq's descubres como hacerlo...

O si pones en uno de los dos checked:

SI <input name="pregunta1" checked type="radio" value="1" tabindex="2">


__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 08/06/2004, 11:33
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 21 años, 4 meses
Puntos: 0
ok

Quiero saber si el usuario ha hecho clic en el radio button en SI o en NO,

esta funcion es para chekcar que "todos" los radio buttons del form tienen que ser respondidos o seleccionados

function checkRadios() {

var el = document.forms[0].elements;

errors=''

for(var i = 0 ; i < el.length ; ++i) {
if(el[i].type == "radio") {
var radiogroup = el[el[i].name]; // get the whole set of radio buttons.
var itemchecked = false;
for(var j = 0 ; j < radiogroup.length ; ++j) {
if(radiogroup[j].checked) {
itemchecked = true;
break;
}
}

if(!itemchecked) {
errors+='Recuerde marcar los campos obligatorios señalados con (*)';
if(el[i].focus)
el[i].focus();
alert(errors);
return false;
}
}
}

/*/

Pero no entiendo como asignarla para determinados radio buttons que esten en el form, es que no deseo validarlos todos, nada mas necesito 1 o 2
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.

Última edición por andinistas; 08/06/2004 a las 11:34
  #4 (permalink)  
Antiguo 08/06/2004, 13:42
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61
Pues para saberlo:


<html>
<head>
<title>Untitled</title>
</head>

<body>
<form action="javascript:alert('Ha elegido '+document.forms[0].oculto.value.toUpperCase())">
<input onclick="this.form.oculto.value=this.value" type="radio" name="pregunta1" value="sí">SÍ<br>
<input onclick="this.form.oculto.value=this.value" type="radio" name="pregunta1" value="no">No<br>
<input type="hidden" name="oculto">
<input type="submit">
</form>


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

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #5 (permalink)  
Antiguo 08/06/2004, 14:24
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 21 años, 4 meses
Puntos: 0
no

No no no eso ya lo hice ahora quisiera saber como valido que el usuario haya marcado alguna de las respuestas al enviar el formulario.
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
  #6 (permalink)  
Antiguo 09/06/2004, 01:46
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61
Vamos, que hay que hacertelo todo...
<html>
<head>
<script>
function vagueria(){
if(!(document.forms[0].pregunta[0].checked ||document.forms[0].pregunta[1].checked)){
alert("Por favor, no sea tan vago de nisiquiera contestar");return false;
}
}
</script>

</head>

<body>

<form action="javascript:alert('Mandando!')" onsubmit="return vagueria()">

¿Me apetece aprender?<br>
<input name="pregunta" type="radio" value="si">Sí<br>
<input name="pregunta" type="radio" value="no">No<br>
<br>
<input type="submit">
</form>
</body>
</html>
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #7 (permalink)  
Antiguo 09/06/2004, 09:20
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 21 años, 4 meses
Puntos: 0
ok

ok muchas gracias, pero cuando valida se le podría asignar la propiedad focus para que el usuario vea que es lo que le falta por seleccionar ?

estuve probando de esta forma pero, sucede un error que dice que el objeto no acepta la propiedad focus

// Pregunta 1
if(!(document.forms[0].pregunta1[0].checked ||document.forms[0].pregunta1[1].checked)){
alert("¿Conoce Ud la utilidad Fdisk?");
obj.form.elements.pregunta1.focus();
return false;
}

__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
  #8 (permalink)  
Antiguo 09/06/2004, 10:57
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61
Lo siento, pero no es posible que se de el focus a unos radio button y que el visitante se de cuenta... Pon mejor un alert diciendo que conteste sí o no a la pregunta tal...
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #9 (permalink)  
Antiguo 09/06/2004, 10:59
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 21 años, 4 meses
Puntos: 0
que si se puede

Si se puede porque yo probé con este ejemplo y sirvio:

function checkRadios() {

var el = document.forms[0].elements;

errors=''

for(var i = 0 ; i < el.length ; ++i) {
if(el[i].type == "radio") {
var radiogroup = el[el[i].name]; // get the whole set of radio buttons.
var itemchecked = false;
for(var j = 0 ; j < radiogroup.length ; ++j) {
if(radiogroup[j].checked) {
itemchecked = true;
break;
}
}

if(!itemchecked) {
errors+='Por favor seleccione una opción para el campo '+el[i].name+'\n'; if(el[i].focus)
el[i].focus();
alert(errors);
return false;
}
}
}
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
  #10 (permalink)  
Antiguo 09/06/2004, 11:00
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61
Y se da cuenta el visitante de que falta por responder un radiobutton?
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #11 (permalink)  
Antiguo 09/06/2004, 11:01
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 21 años, 4 meses
Puntos: 0
si

pues claro y le hace el focus y todo.
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
  #12 (permalink)  
Antiguo 09/06/2004, 11:04
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61
Y a cual llevas el foco? al sí o al no? No crees que con eso estás dirigiendo su respuesta...?
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #13 (permalink)  
Antiguo 09/06/2004, 11:10
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 21 años, 4 meses
Puntos: 0
ok

por defecto al si, pero no se chequea ahi el usuario verá si contesta Si o NO
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
  #14 (permalink)  
Antiguo 09/06/2004, 11:14
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61
Si es un formulario que solo pregunta sí o no, yo creo que se dará cuenta de cual es la pregunta que le falta por responder, no?
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #15 (permalink)  
Antiguo 09/06/2004, 11:18
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 21 años, 4 meses
Puntos: 0
si pero como es bien grande el formulario que tengo se perdería, suponte que estas listo a darle clic al boton enviar y te salga eso de que te falta un campo y no te diga cual es? si me entiendes que no le haga foco para indicarle cual es??
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
  #16 (permalink)  
Antiguo 09/06/2004, 11:34
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
¿yá probaste así?

// Pregunta 1
if(!(document.forms[0].pregunta1[0].checked ||document.forms[0].pregunta1[1].checked)){
alert("¿Conoce Ud la utilidad Fdisk?");
document.forms[0].pregunta1[0].focus();
return false;
}
  #17 (permalink)  
Antiguo 09/06/2004, 15:17
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 21 años, 4 meses
Puntos: 0
ok

Si sirvio muchas gracias. si sé puede hacer el focus en un radio button (KarlanKas)


__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
  #18 (permalink)  
Antiguo 09/06/2004, 15:30
Avatar de wolf777  
Fecha de Ingreso: junio-2004
Ubicación: Bolivia
Mensajes: 199
Antigüedad: 20 años, 5 meses
Puntos: 0
screen(100,100); no te queda mas
  #19 (permalink)  
Antiguo 09/06/2004, 15:42
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61
Muchas gracias andinistas por tu ayuda. Realmente me va a venir muy bien esto que me has descubierto. Espero poder volver a contar contigo si tengo un problema de ese tipo.

Muchas gracias!!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #20 (permalink)  
Antiguo 09/06/2004, 17:04
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 21 años, 4 meses
Puntos: 0
ok

Ok, mi avatar lo dice todo
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
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:29.