Pergunta

Aqui diz que é obrigatório

http://www.w3schools.com/tags/att_form_action.asp

mas vejo que os formulários são enviados mesmo se eu não especificar um atributo de ação, e o formulário é enviado para a página atual, que é exatamente o que eu quero.

Foi útil?

Solução

O requisito é apenas para padrões .É perfeitamente possível fazer o que quiser em uma página e não seguir os padrões.As coisas podem não ser exibidas ou não funcionar corretamente se você fizer isso, mas provavelmente serão.O objetivo é segui-los e a ideia é que, se você segui-los, sua página sempre funcionará;você não precisa se preocupar com nada.

Sim, o formulário é obrigatório para ter um atributo de ação em HTML4.Se não estiver definido, o navegador provavelmente usará o mesmo método ao fornecer uma string vazia para ele.Você realmente deve definir action="", que é HTML4 perfeitamente válido, segue os padrões e atinge o mesmo resultado exato.

Em HTML5, você pode especificar uma ação no próprio botão de envio.Se não houver uma, ele usa a ação do formulário e, se não estiver definida, o padrão é a string vazia (observe que você não pode definir explicitamente a ação como uma string vazia em HTML5).

Outras dicas

Tecnicamente, é uma violação das especificações do HTML 4, mas todos os navegadores enviarão mensagens para o originador da resposta se nenhuma ação for especificada.Eu concordaria que não é uma ideia inteligente confiar nele, mas funciona.

EDITAR: Como foi apontado para mim que esta pergunta está marcada como HTML 5: Em HTML 5, eles listam o atributo de ação como não sendo mais necessário: http://www.w3schools.com/html5 / att_form_action.asp que está de acordo com as especificações do HTML 5.

// thread de alerta de ressurreição

Para estender a resposta do animuson ...

Se depois de todos os atributos do botão formaction e formulário action terem sido avaliados, se "ação" ainda avalia como "string vazia", então da seção de especificação HTML5.2 4.10.21.3 ponto 8 estados:

Se ação for uma string vazia, deixe que ação seja o URL do documento do documento de formulário.

quando se trata de envio do formulário, que é o que você queria.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top