Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.05.2018, 02:03
Новичок на форуме
Отправить личное сообщение для jrmobile Посмотреть профиль Найти все сообщения от jrmobile
 
Регистрация: 20.07.2017
Сообщений: 8

Ошибка Uncaught TypeError: document.jshop_filters.submit is not a function
Коллеги,
Помогите, пожалуйста, разобраться.
Вдруг перестал работать фильтр характеристик на сайте.
Выдает ошибку Uncaught TypeError: document.jshop_filters.submit is not a function.
А форма в коде присутствует. Не могу взять в толк, как же у нее может не быть такой функции как Submit.

Сайт тут
http://motivashka-board.ru/#next-section

При клике на любой тег справа, раньше отбирались только подходящие товары. А теперь стреляется ошибка в консоль.

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

Удалить из элементов формы (больше пользы будет, если добавить 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>


Но, проверка на наличие выбранных флажков в форме была бы логичной, если бы отправление формы было асинхронным, либо сервер формируя страницу отмечал выбранные пользователем флажки. В противном случае изменение в форме будет всегда означать выбор только одного флажка из всех, то есть можно смело отправлять форму без проверки, но выбрать несколько позиций в фильтре нельзя.
Ответить с цитированием
  #3 (permalink)  
Старый 03.05.2018, 09:26
Новичок на форуме
Отправить личное сообщение для jrmobile Посмотреть профиль Найти все сообщения от jrmobile
 
Регистрация: 20.07.2017
Сообщений: 8

Супер. Спасибо Вам огромное.
Ответить с цитированием
  #4 (permalink)  
Старый 03.05.2018, 11:13
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

jrmobile,
предлагая флажки, все-таки подумайте о пользователях.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при парсинге значения «margin-left» huckfinn Ваши сайты и скрипты 8 11.03.2018 08:00
Ошибка Uncaught TypeError: Smart.dataTable is not a function xgshx813 AJAX и COMET 0 06.03.2018 13:40
Вызов функции Hol1killer Prototype & script.aculo.us 11 05.12.2016 01:37
Объект внутри прототипа StSpirit Общие вопросы Javascript 81 03.12.2013 03:34
Ошибка: Uncaught TypeError: Cannot set property 'innerHTML' of null dolte Events/DOM/Window 4 16.09.2013 10:54