Поведение клавиши ввода в текстовом поле - PullRequest
1 голос
/ 26 марта 2010

Я делаю очень простую форму обратной связи для приложения MS-Access, над которым я работаю. Он состоит из текстового поля (для комментариев), кнопки «Отправить» и кнопки «Отмена».

По вашему мнению, когда фокус находится на текстовом поле, удобнее ли клавише Enter / Return нажимать кнопку "Отправить" или перемещать курсор на следующую строку в текстовом поле?

Редактировать: текстовое поле явно многострочное.

Ответы [ 4 ]

3 голосов
/ 26 марта 2010

Стандартный интерфейс доступа состоит в том, что в форме ввода данных клавиша ENTER эквивалентна вкладке, т. Е. Перемещается к следующему элементу управления в порядке табуляции.

Исключением из этого поведения по умолчанию являются текстовые поля, привязанные к полям заметок. В этом случае по умолчанию клавиша ENTER вставляет CrLf в связанную заметку. У текстовых полей есть свойство для этого.

В форме обратной связи мне кажется, что клавиша ВВОД должна создать новую строку, когда фокус находится на текстовом поле, где пользователь должен напечатать обратную связь. ENTER должен отправить форму только тогда, когда фокус находится на кнопке SUBMIT.

Все это говорит о том, что ваша терминология звучит очень по-вебски (никто не использует «кнопку отправки» в программировании форм баз данных, и уж точно не в Access). Мне нравятся некоторые аспекты HTML-форм и клавиши ENTER, но, наблюдая за другими, я узнал, что 99% пользователей не знают, что в HTML-форме клавиша ENTER отправляет форму (когда фокус не на мульти строка ввода).

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

0 голосов
/ 09 марта 2013

Для многострочного текстового поля - да. Для клавиши Enter более интуитивно понятно перейти к следующей строке. Однако почти во всех других случаях (по крайней мере, для моих пользователей) клавиша Enter должна «нажать» кнопку «Отправить».

Предупреждение: большинство моих пользователей используют формы с текстовыми полями для выполнения функции поиска по базе данных, которая затем заполняет текстовые поля в другой форме, которая запрещает редактирование. Мой изящный способ избежать их создания "новых" клиентов, которые не являются реальными.

0 голосов
/ 26 марта 2010

В зависимости от структуры формы. Если форма имеет несколько текстовых полей, я ожидаю, что она не будет отправлять данные, когда я нажму Enter, за исключением возможно в последнем текстовом поле. Нажатие клавиши Enter не должно делать ничего или перемещает фокус на следующее текстовое поле, если вы чувствуете себя креативно (большинству пользователей это поведение покажется странным - в WinForms не принято перемещаться между полями ввода при нажатии Enter).

Если форма действительно состоит из одного текстового поля и кнопки отправки, то, возможно, отправка данных, когда я нажму Enter, будет в порядке, но я все равно буду осторожен - пользователи не будут ожидать такого поведения, кроме как в очевидных местах Текстовое поле поиска Google), и оно будет раздражать пользователей, если они случайно нажмут Enter и получат неполную форму для отправки.

0 голосов
/ 26 марта 2010

Я бы предположил, что это зависит от вашего макета: в явно многострочном текстовом поле средний пользователь может ожидать, что Enter переместится на новую строку. В однострочном текстовом поле мы обычно не ожидаем такого поведения.

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