Атрибут action тега <form>
Описание
Атрибут action определяет URL-адрес, на который будут отправлены данные формы при её отправке. Это обязательный атрибут для элемента <form>, если форма не обрабатывается JavaScript.
<form action="/submit-form.php" method="post">
<input type="text" name="username" placeholder="Ваше имя">
<button type="submit">Отправить</button>
</form>
Основные варианты значений:
| Значение | Пример | Описание |
|---|---|---|
| Относительный URL | action="/submit" |
Отправка на тот же домен |
| Абсолютный URL | action="https://api.example.com/submit" |
Отправка на другой сервер |
| Пустое значение | action="" |
Отправка на текущую страницу |
Особенности работы:
- Может использоваться с методами
GETиPOST - Для AJAX-форм часто оставляют пустым и обрабатывают через JavaScript
- Поддерживает как HTTP, так и HTTPS протоколы
- Может содержать query-параметры (
action="/submit?lang=ru")
Пример с разными методами:
<!-- GET форма -->
<form action="/search" method="get">
<input type="text" name="query">
<button type="submit">Искать</button>
</form>
<!-- POST форма -->
<form action="/create-user" method="post">
<input type="text" name="email">
<button type="submit">Создать</button>
</form>
Рекомендации по использованию:
- Для чувствительных данных используйте HTTPS
- Сочетайте правильный метод (
GET/POST) с действием - Для AJAX-форм можно использовать
action="#" - Учитывайте политику CORS при отправке на другие домены
Ограничения безопасности:
<!-- Небезопасно: отправка паролей через GET -->
<form action="/login" method="get">
<input type="password" name="pwd">
</form>
<!-- Безопасно: используйте POST для конфиденциальных данных -->
<form action="/login" method="post">
<input type="password" name="pwd">
</form>
Примечание: В SPA-приложениях атрибут action часто не используется, так как отправка форм обрабатывается JavaScript. Однако для традиционных веб-сайтов он остается важным элементом взаимодействия с сервером.