Estou procurando a maneira mais simples de criar um formulário HTML que não tenha um botão de envio. Isso por si só é fácil, mas também preciso impedir que o formulário seja recarregado quando coisas semelhantes a envio são feitas (por exemplo, acertar Enterum campo de texto).
javascript
html
forms
Matt Roberts
fonte
fonte
Respostas:
Adicione um manipulador onsubmit ao formulário (via plain js ou jquery $ (). Submit (fn)) e retorne false a menos que suas condições específicas sejam atendidas.
A menos que você não queira que o formulário seja enviado, nunca - nesse caso, por que não deixar de fora o atributo 'ação' no elemento do formulário?
fonte
action
atributo não é um formulário, de acordo com os padrões - e realmente causará uma recarga de página em alguns navegadores. Descobri queaction="javascript:void(0);"
funciona bem.Você deseja incluir
action="javascript:void(0);"
em seu formulário para evitar recarregamentos de página e manter o padrão HTML.fonte
Basta adicionar este evento ao seu campo de texto. Isso impedirá um envio ao pressionar Enter, e você está livre para adicionar um botão de envio ou chamar form.submit () conforme necessário:
Por exemplo:
fonte
Quando você pressiona enter em um formulário, o comportamento natural do formulário é ser submetido, para parar esse comportamento que não é natural, você tem que evitar que ele envie (comportamento padrão), com jquery:
fonte
uma ideia:
e
fonte
Duas maneiras de resolver:
fonte
textarea
s, e possivelmente selecionar autocompletar ou menus suspensos, e o celular pode ser outra fonte de problemas.A primeira resposta é a melhor solução:
Mais específico com jquery:
Escrever extensões do Chrome é um exemplo de onde você pode ter um formulário para entrada do usuário, mas não deseja que ele seja enviado. Se você usar action = "javascript: void (0);", o código provavelmente funcionará, mas você terminará com este problema em que obtém um erro sobre a execução de Javascript embutido.
Se você deixar a ação completamente de fora, o formulário será recarregado, o que também é indesejável em alguns casos ao escrever uma extensão do Chrome. Ou se você tivesse uma página da web com algum tipo de calculadora embutida, onde o usuário forneceria alguma entrada e clicaria em "Calcular" ou algo parecido.
fonte