Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Reset формы на js (https://javascript.ru/forum/jquery/53137-reset-formy-na-js.html)

roe 22.01.2015 12:46

Reset формы на js
 
Всем привет!
Народ, подскажите пож. по одной деликатной теме...
-есть сайт с фильтром для поиска товара.
-есть кнопка reset у фильтра. Все очищает, без проблем, но..
- например поставили галочку у чекера фильтра. Т.е. страница перезагрузилась (нашли товар или нет).. и, ранее выбранный чекер, устанавливаться заново в форму по гет парам.
так вот если очистить форму, данные уходят, только визуально!
Если опять обновить страницу все ранее набранные элементы формы-фильтра - возвращаются.
Вопрос, как обнулить гет-параметры у формы одновременно с reset?
Спасибо. Извините за каламбур.
p.s. пока делаю редирект на категорию, что считаю не верным.

danik.js 22.01.2015 12:55

Другими словами, у тебя GET-параметры должны отражать состояние фильтра. Полная синхронизация возможна только если ты реагируешь на изменение фильтра незамедлительно. То есть:
Убрали галочку - тут же изменился GET-параметр в адресной строке, и тут же обновился список товаров, в соответствии с новым фильтром.
Теперь если нажать F5, то все будет как надо.

Если у тебя сделано не так - то в любом случае будет некоторая рассинхронизация. Тогда можешь синхронизировать по нажатию на кнопку Фильтровать. В таком случае если просто убрали галку и нажали F5 - то галка появится вновь, и это будет вполне логично. При этом выборка товаров до нажатия F5 и после будет одинаковой - потому и логично.

GET-параметры можешь через History API менять.

roe 22.01.2015 14:18

Да, мыслите верно.
у меня конструкция сделано как на яндексе включая подсветку и блокировку не активных полей формы.
вот в ней и проблемы.
->фильтр->загрузка страницы с искомым товаром->
все поля которые участвовали в форме заполняются гет-парам.
->reset->очищается форма (включая подсветку и disabled)!!!
с этого места и начинается нестыковка.
если начать использовать форму вновь, то не работает подсветка и disabled (получается как с заполненной формой) вообщем, хрень!
мозг устал, с утра без перезарядки.
Если есть возможность както поправить, буду признателен! Спасибо!


Часовой пояс GMT +3, время: 23:36.