Атрибут formtarget тега <button>
Описание
Атрибут formtarget определяет, где будет открыт результат отправки формы. Этот атрибут переопределяет значение атрибута target родительской формы, но только для конкретной кнопки отправки.
<form action="/process" target="_self">
<input type="text" name="data">
<button type="submit">Открыть в текущем окне</button>
<button type="submit" formtarget="_blank">Открыть в новом окне</button>
</form>
Допустимые значения:
| Значение | Описание | Использование |
|---|---|---|
_blank |
Новое окно/вкладка | Для открытия результатов в новом контексте |
_self |
Текущее окно (по умолчанию) | Обычная отправка формы |
_parent |
Родительский фрейм | Для работы с фреймами |
_top |
Верхний уровень | Выход из всех фреймов |
| Имя фрейма | Указанный фрейм | Для точного управления |
Практический пример:
<form action="/search">
<input type="text" name="query">
<button type="submit">Обычный поиск</button>
<button type="submit" formtarget="_blank">
Поиск в новом окне
</button>
</form>
Важные замечания:
- Работает только с кнопками типа
submit - Браузеры могут блокировать открытие в новых вкладках
- Для современных SPA-приложений чаще используют AJAX
- Указывайте понятные названия фреймов
Пример с пользовательским поведением:
<form>
<input type="email" name="email">
<button type="submit" formtarget="response-frame">
Подписаться
</button>
<iframe name="response-frame" style="width:100%;height:100px"></iframe>
</form>
Примечание: Хотя атрибут formtarget полезен для управления окнами, современные веб-приложения чаще используют AJAX-запросы для более гибкого управления результатами отправки форм.