Показать сообщение отдельно
  #2 (permalink)  
Старый 03.05.2018, 04:06
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Удалить из элементов формы (больше пользы будет, если добавить label)

onclick="document.jshop_filters.submit();"

отправляя форму по изменению состояния флажков. Для этого либо обработчик отправления формы определить в событии загрузки страницы, либо скрипт поместить после html кода формы, а не как сейчас до нее. Если помещать после кода формы, то:

<script type="text/javascript">
document.querySelector('form[name=jshop_filters]').addEventListener('change', function() {
    if(this.querySelectorAll('input:checked').length) this.submit();
});
</script>


Но, проверка на наличие выбранных флажков в форме была бы логичной, если бы отправление формы было асинхронным, либо сервер формируя страницу отмечал выбранные пользователем флажки. В противном случае изменение в форме будет всегда означать выбор только одного флажка из всех, то есть можно смело отправлять форму без проверки, но выбрать несколько позиций в фильтре нельзя.
Ответить с цитированием