parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

off: юзабильность в формах

Spearance 15.11.2005 11:36

Почему поднимаю этот вопрос, т.к. постоянно на него натыкаюсь.

Использовать <select> как элемент формы приходится постоянно, но вот юзабильность этого элемента очень сильно напрягает.

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

В случае когда ввод данных происходит один раз - это терпимо, но когда выбор нужно делать постоянно, а потом ещё что-то дописывать, то на лишние переходы тратятся лишнее время и делаются лишние движения.

Написал для себя простой javascript который делает переход в следующее поле ввода после выбора.
<html>
	<script type="text/javascript">
		function set_next_focus( o_select ){
			element = o_select.form.elements;
			for(i=0; i < element.length; i++){
				if(element[i] == o_select && o_select.options[0].value != o_select.options[element[i].selectedIndex].value){
					if(element[i+1]){
						element[i+1].focus();
					}
				}
			}
		}
	</script>
	<body>
		<form>
			<input type="text" /><br />
			<select style="width: 120px" onchange="set_next_focus(this)">
				<option>select please...</option>
				<option value="1">one</option>
				<option value="1">two</option>
			</select>
			<br />
			<input type="text" />
		</form>
	</body>
</html>
P.S. Возможно код не оптимален... первое что на ум пришло.