Admin
 
 
Logo DIPLOX
Inhibir/deshabilitar radio button con javascript
Volver Por sereno
  
Jueves, 27/01/2011
Inhibir/deshabilitar radio button con javascript
Taller de Javascript para deshabilitar botones de radio para que, al pulsarlos, quede siempre marcada la opción por defecto. La manera de solucionar este asunto que hemos implementado nosotros es definir una variable con el índice del array del botón de radio que tiene que estar seleccionado. Además tendremos una función que se llamará al hacer clic en cualquier botón de radio que se encargará de seleccionar el botón de radio por defecto, de este modo, aunque seleccionemos otro elemento del conjunto, se seleccionará automáticamente el elemento marcado por defecto. Además, la función recibirá el índice del botón de radio pulsado y le retirará el foco de la aplicación de dicho elemento. Podemos ver el código a continuación.
<html> <head> <title>Ejemplo para deshabilitar radio butons</title> <script> indice_marcado = 0 function deshabilitar (formulario,idradio){ formulario.miradio[indice_marcado].checked = true formulario.miradio[idradio].blur () } </script> </head> <body> <h1>Ejemplo para deshabilitar radio butons</h1> <form name=¨f1¨> <input type=¨radio¨ name=¨miradio¨ value=¨Lo que sea¨ onclick=¨deshabilitar (this.form,0)¨ checked> Hola ponte encima! <br> <input type=¨radio¨ name=¨miradio¨ value=¨otra cosa¨ onclick=¨deshabilitar (this.form,1)¨> Ponte aquí tambien <br> <input type=¨radio¨ name=¨miradio¨ value=¨más cosas¨ onclick=¨deshabilitar (this.form,2)¨> Ponte aquí tambien </form> </body> </html>
En los elementos de formulario de tipo radio button tenemos el manejador de eventos onclick que se llama cuando se hace clic en un ese botón de radio. Dicho manejador de eventos llama a una función pasándole el formulario donde estamos trabajando y el índice del botón de radio actual, que empieza en cero. La función deshabilitar(), definida en el bloque de script de la cabecera, contiene dos sentencias. La primera vuelve a poner la selección en el botón de radio adecuado, utilizando la propiedad checked del radiobutton, y la segunda retira el foco del elemento pulsado, con el método blur().


Volver Por sereno