¿Desmarcar un botón de radio? [cerrado]

14

Siempre me he preguntado si hay alguna forma o truco para anular la selección de un botón de radio una vez que haya seleccionado uno.

Estoy haciendo esto como una pregunta genérica, no con respecto a un programa específico. podría ser un programa de escritorio o una página web.

Una vez que hace clic en un botón de radio, parece que no hay forma de anular la selección, por lo que si desea dejar el campo en blanco, no puede hacerlo una vez que ya ha realizado una selección. Es una especie de "obliga" a seleccionar algo.

ACTUALIZACIÓN : Lo siento, me refería a botones de radio y no a casillas de verificación, confundí los términos.

nmuntz
fuente
2
¿Puedes dar un ejemplo específico de dónde has visto este comportamiento? Por lo general, las casillas de verificación le permiten marcar y desmarcar la casilla.
heavyd
2
Creo que estás hablando de botones de radio?
fretje
@fretje: sí, lo siento.
Me
3
los
botones de radio
3
Si alguna vez ha encontrado una radio de automóvil vieja, los botones preestablecidos eran objetos físicos que tenía que presionar. Al presionar uno, saltó el otro. Era casi imposible "deseleccionar" uno sin presionar a otro. Estoy seguro de que de ahí viene el nombre de "botones de radio".
ale

Respuestas:

31

Estás pensando en los botones de radio:

un grupo de casillas de verificación redondas donde solo se puede seleccionar una a la vez

... y cualquier interfaz que te deje con ganas de desmarcar un grupo de botones de radio es Doing it Wrong ™. Los botones de radio deberían (mejor) comenzar con una opción predeterminada marcada, no aceptar entradas si el usuario no elige, o (peor) proporcionar un botón para desmarcar todo.

Si quejarse con el diseñador de software / sitio web no es una opción, aquí hay un marcador que desmarca todos los botones de radio en una página:

javascript:(function(){var%20inputs%20=%20document.getElementsByTagName(%27input%27);for(var%20i%20=%20inputs.length-1;i>=0;i--){if(inputs[i].getAttribute(%27type%27)===%27radio%27)inputs[i].checked=false}})()

... y aquí hay una versión que funciona en la consola:

(function(){var inputs = document.getElementsByTagName('input');for(var i = inputs.length-1;i>=0;i--){if(inputs[i].getAttribute('type')==='radio')inputs[i].checked=false}})()

Si se trata de software de escritorio, la única opción suele ser salir de la pantalla problemática y volver a entrar.

s4y
fuente
Me encuentro con esto de vez en cuando con encuestas en línea que están mal diseñadas. No pude ejecutar este script ya que decía " % de token inesperado " al ejecutarlo en la consola de Chrome. Lo que hice en su lugar fue usar la capacidad de Chrome para editar html: presione F12. Presione la lupa pequeña en el extremo izquierdo, seleccione el botón de radio (debe ser un lielemento), luego haga clic derecho en el ulelemento circundante y seleccione Editar como HTML . Copie uno de los otros botones de radio ( lielementos) e insértelo junto a los demás. Selecciónelo en la página y luego edítelo ulnuevamente para eliminar el botón de opción.
Aske B.
1
@AskeB. ¡Acabo de agregar una versión que funciona en la consola!
s4y
7

Agregue un botón de radio llamado Ninguno

svandragt
fuente
1
+1 Eso es lo que haría ... ¡Los botones de radio no se pueden deseleccionar "por diseño"!
fretje
3

Eso es generalmente un problema con los botones de radio, el tipo circular de widgets de selección que permiten seleccionar solo uno de un grupo. Las casillas de verificación están diseñadas para marcarlas o desmarcarlas. Dudo que las casillas de verificación en general no permitan la deselección. Puede ser bueno dar ejemplos de su problema.

Tenga en cuenta que si tiene un problema para 'deseleccionar' el último elemento seleccionado en un conjunto, siempre es bueno intentar hacer clic en su selección mientras presiona CTRL al mismo tiempo.

akf
fuente
2
No es realmente un problema, se supone que requieren una selección. No se supone que se usen cuando "sin respuesta" es válido.
Greg D
Estaba usando 'generalmente un problema con' como dispositivo retórico para señalar que el OP probablemente se refería a botones de radio, no a casillas de verificación. No quise dar a entender que en realidad era un problema.
akf
1
+1 para la solución CTRL, que a menudo no se conoce
Gnoupi
0

¿Estás seguro de que no te estás refiriendo a un botón de radio? Por lo general, puede desmarcar una casilla de verificación. Si te refieres a un botón de radio, lo más parecido que puedo pensar es usar el complemento de la barra de herramientas de desarrollo para que Firefox borre los botones de radio.
Menú> Formularios> Borrar botones de radio


fuente
Sí, lo siento, me refería a los botones de radio.
nmuntz
0

Editar:

Si es un botón de opción, puede usar esta muestra de Javascript o tal vez hacer algo con AutoHotKey para crear su propio acceso directo:

<script language="JavaScript">
<!--
function unCheckRadio(oRadio) {
      var or = document.getElementsByName(oRadio);
      for (var i = 0; i < or.length; i++) {
         or[i].checked = false;
     }
}
//-->
</script>

Ya no es relevante, aunque sigue siendo útil:

He escrito un par de publicaciones sobre el tema Atajos de teclado para diferentes aplicaciones y Cómo mejorar la eficiencia y la experiencia aprendiendo a usar atajos de teclado. Pero cada vez que inicio sesión en cualquier cuenta, utilizo el botón de tabulación para moverme por el cuadro de campo para ingresar el ID de usuario y la contraseña y uso el mouse para seleccionar o anular la selección de la casilla de verificación "Mantener la sesión iniciada".

texto alternativo

Solo hoy me di cuenta de que no sé cuál es el método abreviado de teclado para seleccionar o anular la selección de la casilla de verificación. Busqué en Google un poco y descubrí que la barra espaciadora se usa para la casilla de verificación. Puede encontrar la casilla de verificación en varios lugares como 'Recordarme' o 'Acepto la política' y en todos esos lugares recuerde usar la barra espaciadora para seleccionar o anular la selección de una casilla de verificación.

Ivo Flipse
fuente
Nota La guía del teclado de Firefox menciona que un botón de radio no tiene una opción de alternar (activar / desactivar)
Ivo Flipse
Bueno, esto ya no es realmente útil después de editar su pregunta
Ivo Flipse