HTML-formulier op zelfpagina indienen

Ik wil dat een HTML-formulier naar zichzelf wordt verzonden. Hoe gebruik ik het kenmerk action?

  1. <form action="">
  2. <form action="#">
  3. <form action="some/address">
  4. <form>

Welke was verdient de voorkeur?


Antwoord 1, autoriteit 100%

In 2013, met alle HTML5-dingen, kun je het attribuut ‘action’ gewoon weglaten om zelf een formulier in te dienen

<form>

Eigenlijk, de subsectie Formulierverzending van het huidige HTML5-conceptstaat action=”” niet toe (leeg kenmerk). Het is tegen de specificatie.

Van dit andere Stack Overflow-antwoord.


Antwoord 2, autoriteit 20%

Gebruik ?:

<form action="?" method="post">

Het zal de gebruiker terugsturen naar dezelfde pagina.


Antwoord 3, autoriteit 16%

U kunt het actiekenmerk leeg laten. Het formulier wordt automatisch op dezelfde pagina ingediend.

<form action="">

Volgens de w3c-specificatie, action-attribuut moet in het algemeen een niet-lege geldige url zijn. Er is ook een verklaring voor sommige situaties waarin het actiekenmerk leeg kan blijven.

De actie van een element is de waarde van het formaction-attribuut van het element, als het element een verzendknop is en een dergelijk attribuut heeft, of de waarde van het action-attribuut van de vormeigenaar, als het er een heeft, of anders de lege tekenreeks .

Dus ze zijn allebei nog steeds geldig en werken:

<form action="">
<form action="FULL_URL_STRING_OF_CURRENT_PAGE">

Als u zeker weet dat uw publiek html5-browsers gebruikt, kunt u zelfs het actiekenmerk weglaten:

<form>

Antwoord 4, autoriteit 11%

Als u een formulier indient met php, gebruik dan:

action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"

voor de veiligheid.


Antwoord 5

U kunt dit doen met dezelfde pagina in het actiekenmerk: action='<yourpage>'

Other episodes