Я добавляю опцию сортировки на страницу поиска.Я использую два типа ввода формы выбора, один для поля для заказа, а другой для ASC / DESC.У меня есть первый вариант со значением = "" и текстом "Выберите один ...".
<label for="sort[order_by_field]">Field</label><select name="sort[order_by_field]" id="combobox">
<option value="">Select one...</option>
<optgroup label="---">
<option value="finding_incident_number"<?php echo ($field == 'finding_incident_number' ? ' selected="selected"': false); ?>>Incident #</option>
<option value="finding_violation_type"<?php echo ($field == 'finding_violation_type' ? ' selected="selected"': false); ?>>Finding</option>
<label for="sort[order_by_direction]">Direction</label>
<select name="sort[order_by_direction]">
<option>Select one...</option>
<option value="ASC"<?php echo ($dir == 'ASC' ? ' selected="selected"': false); ?>>Ascending</option>
<option value="DESC"<?php echo ($dir == 'DESC' ? ' selected="selected"': false); ?>>Descending</option>
</select>
После отправки формы я проверяю, есть ли isset ($ _ POST ['sort']).Установлено.Я тоже проверяю на! Пусто.Это всегда! Пусто.Я хочу знать, действительно ли пользователь сделал выбор.Есть ли способ настроить это так, чтобы мне не приходилось проверять отдельные значения массива, т.е. isset ($ _ POST ['sort'] ['order_by_field'])?В будущем я хотел бы иметь динамическое число добавляемых / удаляемых сортировок по полям.
Полагаю, я мог бы использовать метку optiongrp, но тогда это не будет семантической разметкой, не так ли?Я думаю, что это сработает.
С более широкой точки зрения, является ли использование "Выбрать один ..." хорошей практикой для выпадающего списка форм?