| ||||
... otro?? agrega "selected" a uno.. el que quieras por defecto. Los radio buttons tienen el comportamiento de que SOLO SE PUEDE SELECCIONAR UNO Y AL MENOS UNO de un grupo... agrupados por el name obviamente... entonces, si tu seleccionas uno... no habrá manera de desmarcarlo. Suerte!
__________________ ٩(͡๏̯͡๏)۶ "100 años después, la revolución no es con armas, es intelectual y digital" |
| ||||
Txarly, he podido hacer funcionar tu script, y me sale el alert, pero al darle a aceptar la ejecución del form no se detiene, sino que va a la página señalada en el action. He puesto en el form onsubmit="validar()" ¿Cómo lo hago para que se detenga y no vaya a la página de destino? Gracias. |
| ||||
Hola mrgubu Tienes que poner el formulario así: onsubmit="return validar()" y cambiar un poco el código de la función: if (sel == false) { alert("debe seleccionar una opcion"); return false; } Espero que te funcione. Saludos, |
| ||||
Para que no te vaya a la siguiente pagina en vez de un input de type submit utiliza un input de type="button", entonces el submit lo hacemos en la función de Javascript que quedaria así:
Código:
Si tienes 10 radios los indices van de 0 a 9 por lo tanto seria:function validar() { var sel = false; 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(); } } for(var i=0; i<10; i++) ó for(var i=0; i<=9; i++) PD: acabo de ver la respuesta de JavierB y me parece más eficaz , hazlo como te dice.
__________________ ¿Por qué Uri Geller doblaba cucharas? Última edición por txarly; 23/03/2005 a las 04:57 |
| ||||
Ya he solucionado lo del confirm. Pero tengo otro problema: el script falla si hay un sólo radiobutton:: Como el script lo armo dinámicamente con asp, el numero de radiobuttons varía: si el número de radiobuttons es 1, el script no funciona: es decir, con for(var i=0; i<1; i++), el script no va, y necesito que funcione también en ese caso. |
| ||||
Hola mrgubu Lo que ocurre es que cuando tienes un solo radio no se crea ningún array de radios, por eso cuando pones rd1[0] da un error. Esto puede servirte: Código PHP: |
| ||||
JavierB, lo he probado, pero no funciona, quiero decir que sigue fallando cuando el form tiene un solo radiobutton. El script no me da error, simplemente no se detiene y pasa a la página de destino. Como yo defino previamente en asp el número de raddiobuttons, quizás se podría hacer un bucle en el que cuando numeroderegistros = 1 pues se validara de una manera y si no de otra. |
| |||
No me funciona....X que? Utilice el codigo que pusieron en las respuestas, pues tengo el mismo problema que mrgubu pero no me funciona!! Me dice que el objeto al que hago referencia no existe..... Estos son mis codigos.... De los radio button, son grupos de 4 y empiezan con nombre desde "P1" hasta "P11" (solo puse dos grupos):
Código:
Y con este codigo quiero validarlos, que es el que pusieron como respuesta para mrgubu, solo que lo adapte a mi formulario que se llama "form1":<table width="800" border="1" cellpadding="0" cellspacing="0" bordercolor="eaeaea"> <tr> <td><input name="P1" type="radio" value="1" /> a) No tengo idea </td> <td><input name="P1" type="radio" value="2" /> b) Se muy poco a el respecto </td> <td><input name="P1" type="radio" value="3" /> c) Se bastante a el respecto </td> <td><input name="P1" type="radio" value="4" /> d) Conozco a detalle </td> </tr> </table> <br /> <table width="800" border="0" bgcolor="eaeaea"> <tr> <td><span class="Estilo11">2. Crees que el objetivo del proyecto en que trabajaste o estas trabajando fue/es... </span></td> </tr> </table> <table width="800" border="1" cellpadding="0" cellspacing="0" bordercolor="eaeaea"> <tr> <td><span class="Estilo11"> <input name="P2" type="radio" value="1" /> a) De ningun valor para mi función </span></td> <td><span class="Estilo11"> <input name="P2" type="radio" value="2" /> b) De cierto valor para mi función </span></td> <td><span class="Estilo11"> <input name="P2" type="radio" value="3" /> c) Importante para mi función </span></td> <td><span class="Estilo11"> <input name="P2" type="radio" value="4" /> d) Clave para mi función </span></td> </tr> </table>
Código:
<script language="javascript"> function validar() { if (form1.NumEmp.value=="" ){ alert("Debe de poner su numero de empleado"); return false } if (form1.Nombre.value==""){ alert("Debe de poner su Nombre completo"); return false } var sel=false; for(var i=0;i<3;i++){ if (form1.P[i].checked){ sel=true; break; } } if(sel==false){ alert("Debe seleccionar una opcion"); return false } } </script> Pero me dice: Error: 'form1.P' is null or not an object Tal parece que no me toma en cuenta el form1.P[i]. Me pueden ayudar? Gracias |
| ||||
en vez de form1.P[i] debes poner form1.P1[i] Código PHP:
__________________ |