Chcę, aby formularz HTML przesłał się do siebie. Jak używać action
atrybutu?
<form action="">
<form action="#">
<form action="some/address">
<form>
Co było lepsze?
Chcę, aby formularz HTML przesłał się do siebie. Jak używać action
atrybutu?
<form action="">
<form action="#">
<form action="some/address">
<form>
Co było lepsze?
Odpowiedzi:
W 2013 roku, w przypadku wszystkich elementów HTML5, możesz po prostu pominąć atrybut „action”, aby samodzielnie przesłać formularz
<form>
W rzeczywistości podsekcja Przesyłanie formularza w bieżącej wersji roboczej HTML5 nie zezwala na działanie = "" (pusty atrybut). Jest to niezgodne ze specyfikacją.
action
atrybutu razem, ale nie pozostawienie go pustego?
Możesz pozostawić atrybut akcji pusty. Formularz zostanie automatycznie przesłany na tej samej stronie.
<form action="">
Zgodnie ze specyfikacją w3c atrybut działania musi być ogólnie niepusty prawidłowym adresem URL. Istnieje również wyjaśnienie niektórych sytuacji, w których atrybut akcji może pozostać pusty.
Akcją elementu jest wartość atrybutu formaction elementu, jeśli element jest przyciskiem Prześlij i ma taki atrybut, lub wartość atrybutu akcji właściciela formularza, jeśli ma, lub pusty ciąg.
Więc oba nadal są ważne i działają:
<form action="">
<form action="FULL_URL_STRING_OF_CURRENT_PAGE">
Jeśli masz pewność, że Twoi odbiorcy korzystają z przeglądarek HTML5, możesz nawet pominąć atrybut działania:
<form>
Jeśli przesyłasz formularz za pomocą php, użyj:
action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"