Я создаю фасетную поисковую систему, в которой есть входы на боковой панели (грани указаны флажки) и ввод в заголовке страницы (основное окно запроса). Все эти входы передаются одновременно, когда пользователь отправляет запрос.
Единственный способ, которым я могу придумать эту работу, - обернуть всю страницу в тег формы HTML. Что-то вроде следующего псевдо-html:
<form>
<div id='header'>
<logo/>
<input id='q'/>
<!-- a bunch more stuff -->
</div>
<div id='sidebar'>
<div id='sidebar-facets-subsection'>
<input id='facet1'/>
<input id='facet2'/>
<input id='facet3'/>
<!-- a bunch more stuff -->
</div>
<div id='sidebar-form-subsection'>
<form id='unrelated-form'>
<input id='unrelated-input-1'/>
<input id='unrelated-input-2'/>
</form>
</div>
</div>
<!-- a bunch more stuff -->
</form>
Это будет работать, за исключением трех вещей:
- Мне нужно использовать другие формы на странице, как я указал выше.
- Я использую разные шаблоны django для создания заголовка и боковой панели, что делает шаблоны зависимыми друг от друга.
- Это настоящий беспорядок, поскольку на боковой панели в действительности находится около 100 строк, а не три.
Есть ли более умный способ сделать это, о котором я не знаю, или создает огромные HTML-формы в норме? В таких обстоятельствах, лучше ли использовать Javascript для генерации входных записей в более нормальной форме? Или это единственный вариант?
Любые творческие решения или идеи?