Ввод "A, B или нет" для форм HTML - PullRequest
0 голосов
/ 04 ноября 2010

У меня есть случай, когда я хочу, чтобы переменная формы была установлена ​​в одно из набора значений (в моем текущем случае true / false) или оставлена ​​неустановленной (в этом случае никакое значение не возвращается, а не некоторое 'none'значение или пробел).Флажок может выдавать неустановленный бит, но только одно установленное значение.Элемент радио может работать, вроде.Но как только значение выбрано, невозможно вернуться к неустановленному.Все остальные входные данные, на которые я смотрел, всегда устанавливали переменную независимо от того, что.

Я что-то упустил или мне просто нужно принять не идеальное решение?

Ответы [ 7 ]

1 голос
/ 04 ноября 2010

Три радиокнопки или <select> с тремя <option> подойдут.

0 голосов
/ 04 ноября 2010

Используя 3 переключателя в одной группе, вы можете скрыть первый переключатель «нет» с помощью CSS (visibility:hidden; или display:none;), и если он все еще выбран во время проверки формы, то пользователь не имеет t выбрано либо истинное, либо ложное радио.

РЕДАКТИРОВАТЬ (оставлять комментарии):

Если требование no-Javascript является обязательным, то вы можете условно применить класс «hideableItem» к скрытому радио, если сценарии отключены, худшее, что вы получите, - это 3 радио для выбора пользователя, как описали другие , Если JS включен, то радио по умолчанию скрыто и обеспечивает поведение, которое я описал.

Условное сокрытие, если JS отключен / включен метод описан здесь: http://lucassmith.name/2008/10/script-to-add-css-only-when-javascript-is-available.html

Я использую это все время, это здорово.

0 голосов
/ 04 ноября 2010

Вы должны будете использовать некоторый JavaScript. Если у вас есть jQuery, есть несколько плагинов для трех состояний.

Например: http://plugins.jquery.com/project/tristate-checkbox

Возможно, есть сценарии, отличные от jQuery, если вы используете Google для "флажка tri state"

Например: http://caih.org/open-source-software/tri-state-checkbox-in-javascript/

0 голосов
/ 04 ноября 2010

Будет ли работать выпадающий список?

<select name="choices">
  <option>(None)</option>
  <option value="a">Choice A</option>
  <option value="b">Choice B</option>
</select>
0 голосов
/ 04 ноября 2010

А как насчет выпадающего списка с

---Please Select---
Option A
Option B

В последнее время я обращался ко многим вакансиям онлайн, и по этому пути обычно ходили люди.

0 голосов
/ 04 ноября 2010

Сделайте «выпадающее меню», как показано здесь: http://www.echoecho.com/htmlforms11.htm

Создайте значение по умолчанию как «Нет», за которым следует опция A, а затем опция B.

0 голосов
/ 04 ноября 2010

Поставь три рации: A, B и None

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...