Quero que um formulário HTML seja submetido a si mesmo. Como faço para usar o action
atributo?
<form action="">
<form action="#">
<form action="some/address">
<form>
Qual era preferível?
Quero que um formulário HTML seja submetido a si mesmo. Como faço para usar o action
atributo?
<form action="">
<form action="#">
<form action="some/address">
<form>
Qual era preferível?
Respostas:
Em 2013, com todo o material HTML5, você pode simplesmente omitir o atributo 'action' para auto-enviar um formulário
<form>
Na verdade, a subseção de Envio de Formulário do rascunho HTML5 atual não permite action = "" (atributo vazio). É contra a especificação.
A partir dessa outra resposta Stack Overflow .
action
atributo totalmente fora , mas não deixá-lo vazio?
Você pode deixar o atributo de ação em branco. O formulário se submeterá automaticamente na mesma página.
<form action="">
De acordo com a especificação w3c , o atributo action deve ser uma url válida não vazia em geral. Também há uma explicação para algumas situações em que o atributo de ação pode ser deixado em branco.
A ação de um elemento é o valor do atributo formaction do elemento, se o elemento for um Botão Enviar e tiver tal atributo, ou o valor do atributo action do proprietário do formulário, se tiver um, ou então a string vazia.
Então, ambos ainda são válidos e funcionam:
<form action="">
<form action="FULL_URL_STRING_OF_CURRENT_PAGE">
Se tiver certeza de que seu público está usando navegadores html5, você pode até omitir o atributo action:
<form>
Use ?
:
<form action="?" method="post">
Isso enviará o usuário de volta à mesma página.
Se você estiver enviando um formulário usando php, certifique-se de usar:
action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"