it-swarm-pt.tech

O que o ENTER deve fazer?

Em um formulário da web, o que deve acontecer quando o usuário pressiona a tecla ENTER?

Estou escrevendo um formulário de inscrição - nome, email, senha, botão de inscrição: o tipo usual de coisa. Como estou usando JavaScript, a página não usa os <form...> tag, tenho controle total sobre o que acontece com cada pressionamento de tecla. Eu posso mudar o foco, enviar os dados para o servidor, validar o conteúdo do campo, qualquer que seja. Mas o que deveria faz?

O que estou me perguntando: ENTER deve levar o usuário para o próximo campo (conforme a tecla TAB)? Pressionar ENTER enquanto o foco estiver no campo final enviar o formulário?

19
David

Enter deve enviar o formulário. A guia deve ir para o próximo campo.

Os usuários geralmente não gostam quando o teclado não faz o que acha que deveria.

37
Jeff Sheldon

O padrão do navegador interno é sempre enviar ao entrar, portanto, tornou-se um padrão de fato.

Um geralmente intercepta isso e, em seguida, faz validações. Se as validações falharem, o evento de envio será cancelado e o formulário não será enviado.

Além: por que você não está usando a tag <form>? Você deveria mesmo. Não impedirá a execução de nenhum javascript e é semanticamente melhor.

9
Steven Ringo

É impossível responder a essa pergunta sem um teste do usuário. Por quê? Porque o que o Enter deve fazer depende de quem são seus usuários. Veja as respostas para essa pergunta até agora: o principal votado é um designer de interação, dando sua opinião com base em sua experiência (o que o influencia, considerando que tudo o que ele pode dizer é o que ele já viu), e outros 11 designers votaram positivamente isso porque eles viram coisas semelhantes e concordam com isso.

Mas para realmente resposta a pergunta, você deve testar o usuário. Se seu público-alvo não é formado por designers de interface do usuário que esperam que o Enter envie o formulário, é difícil dizer o que eles esperam sem medir o que eles esperam. A melhor maneira de fazer isso é obter um número estatisticamente significativo de pessoas do seu público e ver como elas se comportam ao usar os diferentes designs do formulário.

2
Rahul

Apenas uma opinião de alguém que não cresceu com a web (existem muitos de nós por aí e pagamos por isso). A tecla Enter só deve postar o formulário quando todos os campos obrigatórios estiverem preenchidos; caso contrário, ele deve ir para o próximo campo.

Em um formulário de entrada de dados mais exclusivo, eu não recomendaria sair do que os usuários esperam, mas as telas de login são bastante genéricas, possuem poucos campos e não devem causar muita confusão (existem apenas três campos).

Pessoalmente, odeio quando pressiono a tecla Enter por hábito/acidente e espero o carregamento do formulário.

2
JeffO

Minha heurística é

  1. Se o formulário for nome de usuário e senha, digite envia o formulário.
  2. Se eles estiverem no último campo de um formulário ou estiverem tabulados no botão enviar, insira envia o formulário
  3. Todos os outros cenários inseridos vão para o próximo campo.
2
Glen Lipka

Meu conselho - você não precisa do Enter.

Os usuários não sabem que Enter envia o formulário. Essa funcionalidade pode ser descoberta apenas por experimentação. Os usuários não experimentam, têm medo de fazer algo errado, especialmente nas formas.

Você pode remover com segurança a funcionalidade Enter de formulários longos.

Mantenha-o em formas muito curtas, como o Login, onde usuários avançados estão acostumados a pressionar Enter.

1
Miki