Desmarcar um botão de opção? [fechadas]

14

Eu sempre me perguntei se há alguma maneira ou truque para desmarcar um botão de opção depois de selecionar um.

Estou fazendo isso como uma pergunta genérica, não relacionada a um programa específico. pode ser um programa de desktop ou uma página da web.

Depois de clicar em um botão de opção, parece que não há como desmarcá-lo; portanto, se você quiser deixar o campo em branco, não poderá fazê-lo depois de fazer uma seleção. Isso meio que 'força' você a selecionar algo.

ATUALIZAÇÃO : Desculpe, eu estava me referindo a botões de opção e não a caixas de seleção, confundi os termos.

nmuntz
fonte
2
Você pode dar um exemplo específico de onde você viu esse comportamento? Normalmente, as caixas de seleção permitem marcar e desmarcar a caixa.
heavyd
2
Eu acho que você está falando sobre botões de opção?
fretje
@ fretje: sim, desculpe. Eu estava me referindo aos botões de rádio
nmuntz
3
radiobuttons não pode ser de-selecionado "por design"
fretje
3
Se você já encontrou um rádio de carro antigo, os botões predefinidos eram objetos físicos que você precisava apertar. Ao pressionar um, o outro era pressionado. Era quase impossível "desmarcar" um sem empurrar o outro. Tenho certeza de que é daí que o nome "botões de opção" vem.
068/09 ale

Respostas:

31

Você está pensando em botões de opção:

um grupo de caixas de seleção redondas nas quais apenas uma pode ser selecionada por vez

… E qualquer interface que permita que você desmarque um grupo de botões de opção é Doing it Wrong ™. Os botões de opção devem (melhor) iniciar com uma opção padrão marcada, não aceitar entrada se o usuário não fizer uma escolha ou (pior) fornecer um botão para desmarcar tudo.

Se reclamar com o designer do software / site não for uma opção, veja um bookmarklet que desmarca todos os botões de opção em uma 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}})()

... e aqui está uma versão que funciona no console:

(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}})()

Se você estiver lidando com software de desktop, a única opção é geralmente sair da tela problemática e voltar.

s4y
fonte
Eu tropeço nisso de vez em quando com pesquisas on-line mal projetadas. Não consegui executar este script, pois dizia " % de token inesperado " ao executá-lo no console do Chrome. O que eu fiz foi usar a capacidade do Chrome para editar html: Pressione F12. Pressione a pequena lupa na extrema esquerda, selecione o libotão de opção (deve ser um elemento), clique com o botão direito do mouse no ulelemento circundante e selecione Editar como HTML . Copie um dos outros botões de opção ( lielementos) e insira-o ao lado dos outros. Selecione-o na página e edite-o ulnovamente para remover o botão de opção.
Aske B.
1
@AskeB. Acabei de adicionar uma versão que funciona no console!
S4y
7

Adicione um botão de opção chamado Nenhum

svandragt
fonte
1
+1 É o que eu faria ... Os botões de opção não podem ser desmarcados "por design"!
fretje
3

Isso geralmente é um problema com os botões de opção, o tipo circular de widgets de seleção que permite que apenas um de um grupo seja selecionado. As caixas de seleção foram projetadas para serem marcadas ou desmarcadas. Duvido que as caixas de seleção em geral não permitam a desmarcação. Pode ser bom dar exemplos do seu problema.

Observe que se você tiver um problema ao "desmarcar" o último item selecionado em um conjunto, é sempre bom tentar clicar na sua seleção enquanto pressiona CTRL ao mesmo tempo.

akf
fonte
2
Não é realmente um problema, eles devem exigir uma seleção. Eles não devem ser usados ​​quando "nenhuma resposta" é válida.
227 Greg Greg D
Eu estava usando 'geralmente um problema com' para como um dispositivo retórico para apontar que o OP provavelmente estava se referindo a botões de opção, não a caixas de seleção. Não quis dizer que isso realmente era um problema.
akf
1
+1 para a solução CTRL, que muitas vezes não é conhecido
Gnoupi
0

Tem certeza de que não está se referindo a um botão de opção? Você geralmente pode desmarcar uma caixa de seleção. Se você está se referindo a um botão de opção, a coisa mais próxima que consigo pensar é usar o plug-in da barra de ferramentas de desenvolvimento do Firefox para limpar os botões de opção.
Menu> Formulários> Limpar botões de opção


fonte
Sim, desculpe, eu estava me referindo aos botões de opção.
nmuntz
0

Editar:

Se for um botão de opção, você pode usar esse exemplo de Javascript ou talvez fazer algo com o AutoHotKey para criar seu próprio atalho:

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

Não é mais relevante, embora ainda seja útil:

Escrevi algumas postagens sobre o tópico Atalhos do teclado para diferentes aplicativos e Como melhorar a eficiência e a experiência aprendendo a usar os atalhos do teclado. Mas sempre que faço login em qualquer conta, uso o botão tab para mover-se pela caixa de campo para inserir o ID do usuário e a senha e uso o mouse para selecionar ou desmarcar a caixa de seleção 'Mantenha-me conectado'.

texto alternativo

Só hoje percebi que não sabia qual era o atalho do teclado para selecionar ou desmarcar a caixa de seleção. Pesquisei um pouco e descobri que a barra de espaço é usada para a caixa de seleção. Você pode encontrar a caixa de seleção em vários lugares, como 'Lembrar-me' ou 'Eu aceito a política' e, em todos esses lugares, lembre-se de usar a barra de espaço para marcar ou desmarcar uma caixa de seleção.

Ivo Flipse
fonte
Nota O guia Teclado do Firefox menciona que um botão de opção não tem uma opção de alternância (ativado / desativado)
Ivo Flipse
Bem, isso não é mais realmente útil após editou sua pergunta
Ivo Flipse