"Скасувати вибір" радіо кнопкою? [зачинено]


14

Я завжди цікавився, чи є якийсь спосіб або хитрість скасувати вибір перемикача, коли ви вибрали його.

Я задаю це як загальне питання, а не стосовно конкретної програми. це може бути настільна програма або веб-сторінка.

Після натискання на перемикач здається, що немає можливості її зняти, тому якщо ви хочете залишити поле порожнім, ви не зможете, як тільки ви вже зробили вибір. Це наче «змушує» щось вибрати.

ОНОВЛЕННЯ : Вибачте, я мав на увазі радіо кнопки, а не прапорці, я переплутав умови.


2
Чи можете ви навести конкретний приклад того, де ви бачили таку поведінку? Зазвичай прапорці дозволяють як перевірити, так і зняти прапорець.
важкий

2
Я думаю, ти говориш про радіо кнопки?
fretje

@fretje: так, мені шкода. я мав на увазі радіо кнопки
nmuntz


3
Якщо ви коли-небудь стикалися зі старим автомобільним радіо, то попередньо встановлені кнопки - це фізичні предмети, які вам довелося натиснути. Натискаючи на одну, вискакує інша. "Відібрати" одне, не натискаючи на інше, було майже неможливо. Я впевнений, що звідси походить назва "радіо кнопок".
але

Відповіді:


31

Ви думаєте про перемикачі:

група круглих прапорців, де одночасно можна вибрати лише одну

… І будь-який інтерфейс, який не дозволяє знімати групу радіо кнопок, - це робити це неправильно ™. Радіо кнопки повинні (найкраще) починатись із встановленої опцією за замовчуванням, не приймати введення, якщо користувач не зробить вибір, або (що найгірше) надати кнопку, щоб зняти галочку.

Якщо поскаржитися на розробник програмного забезпечення / веб-сайтів - це не варіант, ось закладка, яка знімає прапорці на кожній радіо-кнопці на сторінці:

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

... і ось версія, яка працює в консолі:

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

Якщо ви маєте справу з програмним забезпеченням для настільних ПК, єдиний варіант, як правило, - це вийти з проблемного екрана і повернутися назад.


Я натрапляю на це раз і знову, використовуючи онлайн-опитування, які погано розроблені. Не вдалося запустити цей скрипт, оскільки він сказав " Несподіваний маркер% " під час його запуску в консолі Chrome. Замість цього я використовував можливість Chrome для редагування html: Натисніть F12. Натисніть трохи лупи в лівій крайній частині, виберіть радіову кнопку (це повинен бути liелемент), а потім клацніть правою кнопкою миші навколишній ulелемент і виберіть Редагувати як HTML . Скопіюйте одну з інших радіо кнопок ( liелементів) і вставіть її поруч з іншими. Виберіть його на сторінці, а потім відредагуйте ulще раз, щоб видалити перемикач.
Aske B.

1
@AskeB. Я щойно додав версію, яка працює в консолі!
s4y

7

Додайте перемикач під назвою None


1
+1 Це я б робив ... Радіо кнопки не можна вибирати "за дизайном"!
fretje

3

Це, як правило, проблема з радіо кнопочками, циркулярними віджетами вибору, які дозволяють вибрати лише одну з групи. Поле прапорців призначене для того, щоб вони були або відмічені, або відмічені. Я сумніваюся, що прапорці взагалі не дозволяють скасувати вибір. Можливо, було б добре навести приклади вашої проблеми.

Зауважте, що якщо у вас є проблема "скасувати вибір" останнього вибраного елемента в наборі, завжди добре спробувати натиснути на свій вибір, одночасно натискаючи CTRL.


2
Це насправді не проблема, вони повинні вимагати відбору. Їх не слід використовувати, коли "жодна відповідь" не вірна.
Грег Д

Я використовував "загалом проблему з" як риторичний пристрій, щоб зазначити, що ОП, ймовірно, стосується перемикачів, а не прапорів. Я не мав на увазі, що це насправді проблема.
akf

1
+1 для рішення CTRL, яке часто не відомо
Gnoupi

0

Ви впевнені, що не посилаєтесь на перемикач? Зазвичай ви можете знімати прапорець. Якщо ви маєте на увазі перемикач, найближчим, про що я можу придумати, є використання плагіна панелі інструментів розробки для Firefox, щоб очистити радіо кнопки.
Меню> Форми> Очистити кнопки радіо


так, їм шкода, я мав на увазі радіо кнопки.
nmuntz

0

Редагувати:

Якщо це перемикач, ви можете використовувати цей зразок Javascript або, можливо, зробити щось із AutoHotKey, щоб зробити свій власний ярлик для нього:

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

Насправді вже не актуально, хоча все ж корисно:

Я написав кілька публікацій на тематичних клавіатурних комбінаціях для різних застосувань та як підвищити ефективність та досвід, навчившись використовувати клавіатурні комбінації. Але щоразу, коли я входжу в будь-який обліковий запис, я використовую кнопку вкладки для переміщення по полі поля, щоб ввести користувальницький пароль і пароль, і я використовую мишу, щоб вибрати або зняти прапорець "Тримати мене ввімкненим".

alt текст

Лише сьогодні я зрозумів, що мені не відомо, що таке клавіатурне скорочення, щоб вибрати чи зняти прапорець. Трохи погуглили і з’ясували, що прапорець використовується для пробілу . Ви можете зустріти прапорець у різних місцях, наприклад "Запам'ятати мене" або "Я приймаю політику", і в усіх цих місцях не забудьте використовувати пробіл, щоб встановити або зняти прапорець.


Примітка. Посібник з клавіатури Firefox зазначає, що в перемикачі немає опції перемикання (увімкнення / вимкнення)
Іво Фліпс

Ну, це вже не дуже корисно після того, як він відредагував своє запитання
Іво Фліпс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.