html php Два экшена (action) в одной форме (form). Как по-разному обрабатывать данные из одной формы?
Primary tabs
Задача
Имеется форма с полями-фильтрами для поиска массива данных.
Требуется в зависимости от нажатия на кнопку [Применить] или [Скачать] выводить полученые данные на экран или отдавать сформированый excel.
В обоих случаях поиск производится с учётом полей формы. То есть форма одна, а кнопки - две.
Решение
Решается приятно просто) Можно вместо атрибута action для формы указывать роут, по которому пойдут данные, в атрибуте formaction тега button:
<form method="GET">
<input id="datepicker" name="date_from"
value="{% if dateFrom is not null %}{{ dateFrom|date('Y-m-d') }}{% endif %}">
<input id="datepicker1" name="date_to"
value="{% if dateTo is not null %}{{ dateTo|date('Y-m-d') }}{% endif %}">
<button formaction="{{ path('manager_detalization_sales')}}"
class="db alCenter blue_button cp fleft">Применить</button>
<button formaction="{{ path('manager_download_detalization_sales')}}"
class="db alCenter blue_button cp fleft">Скачать реестром</button>
</form>Источники
- http://htmlbook.ru/html/button/formaction
- Log in to post comments
- 3761 reads