Как очистить значения предыдущего post в поиске пользователей

#1 3 августа 2016 в 17:19
Первая ветка в компоненте пользователи на странице всех пользователей, есть возможность искать людей по параметрам, а потом сбросить фильтры "Отменить поиск и показать всех".
Я добавил в форму поиска две строки Регион и страна. По ним тоже можно искать, например всех людей из России или всех людей из Московской области.
Но при попытке сбросить параметры поиска, город сбрасывается а если был указан явно регион он так и остается в форме.
и так же со страной если поле страна заполнялось явно оно не сбрасывается.



Пытался просто перенаправлять пользователей на страницу /users/all.html, на скриншоте видно, что кнопку я преобразовал в простую ссылку на эту страницу, это не помогает.
При этом я вижу, что если сначала открыть любую другую страницу, например главную, а потом вернуться в список пользователей, параметры сбросятся, или даже не ходить никуда, а тупо еще раз выделить адресную строку и нажать enter.

Пробовал ход конем (мой хитроумный план, признаюсь scratch) по ссылке "Отменить поиск и показать всех" отправлять на show_all_users.php, а оттуда редиректом перенаправлять на страницу /users. Думал, эффект будет тем же, что при описан выше, когда просто уходишь на другую страницу и возвращаешься в поиск пользователей — параметры поиска очищаются. Но нет)

js скрипт какой то который сбрасывает город не нашел, что бы добавить туда то же для региона и страны.

Кто нибудь может подсказать как быть?
#2 3 августа 2016 в 18:31
Решил пойти вообще по другому пути, искать пользователей буду с помощью get запросов по ряду причин, вопрос выше носит просто познавательный характер, удалять не буду)
#3 3 августа 2016 в 20:44
Это снова я..

Пытался просто перенаправлять пользователей на страницу /users/all.html, на скриншоте видно, что кнопку я преобразовал в простую ссылку на эту страницу, это не помогает.

Нил™
Если вместо php редиректа типа
  1. header("Location: /users/all.html");
использовать js типа

  1. <script language="JavaScript">
  2. window.location.href = "/users/all.html"
  3. </script>l
то этот костыльный метод будет работать. Возможно кому нибудь, когда нибудь пригодится)
#4 4 августа 2016 в 17:43
А так не пробовали?
  1. <input type="button" onclick="$('form:input').val('');centerLink('/users/all.html')" value="Отменить поиск и показать всех">
#5 4 августа 2016 в 19:57

А так не пробовали?

Loadырь
Попробовал, так тоже сбрасывает поле "город", а новые добавленные поля регион и страна не очищает.
#6 4 августа 2016 в 20:31
Нет никаких предыдущих POST запросов.
Есть метод ядра getSearchVar().
У котором происходит очистка данных ( входных данных request) сессии
  1. if($value == 'all'){
  2. cmsUser::sessionDel($com.'_'.$search);
  3. $value = '';
  4. }
Нужно определить вызов getSearchVar() со своими параметрами :
После :
  1. // Возможные входные переменные
  2. $name = cmsCore::getSearchVar('name');
  3. $city = cmsCore::getSearchVar('city');
  4.  
Добавить Ваше определение новых переменных:
  1.  
  2. $region = cmsCore::getSearchVar('region');
  3. $country = cmsCore::getSearchVar('country');
#7 4 августа 2016 в 20:46
Поля не сбрасывались потому что в router.php в блоке

  1. routes[] = array(
  2. '_uri' => '/^users\/all.html$/i',
  3. 'online' => '0',
  4. 'name' => 'all',
  5. 'city' => 'all',
  6. 'hobby' => 'all',
  7. 'gender' => 'all',
  8. 'agefrom' => 'all',
  9. 'ageto' => 'all'
  10. );
не было добавлено

  1. 'state' => 'all',
  2. 'country' => 'all',
всё остальное было и поиск работал как надо.

после добавления кнопка "показать всех сбрасывает и регион и страну.

Loadырь, Геннадий Иванович, спасибо за участие, коллективный разум это вещь…
#8 17 января 2017 в 07:12
Хорошая практика, решив вопрос самостоятельно, зайти в тему и оставить решение для тех, кому оно может понадобиться ещё.
Ибо потом когда снова упираешься в этот вопрос, можно нагуглить свой же ответ)
Отпускай хлеб твой по водам, потому что по прошествии многих дней опять найдешь его
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.