11.11.2019, 10:53
|
Кандидат Javascript-наук
|
|
Регистрация: 08.11.2019
Сообщений: 113
|
|
Получить данные из формы и переадресовать на страницу
Доброго времени маги JS , снова я с нубскими вопросами...
Есть форма которая не работает так как мне нужно, а нужно срочно, потому решено сделать костылем:
<form method="get" action="">
<input type='text' name='age_min' id='age_min' class='age_min'>
<input type='text' name='age_max' id='age_max' class='age_max'>
<select name="height_min" id="height_min" >
<option value="150">150</option>
<option value="155">155</option>
<option value="160">160</option>
<option value="165">165</option>
<option value="170">170</option>
</select>
<select name="height_max" id="height_max" >
<option value="150">150</option>
<option value="155">155</option>
<option value="160">160</option>
<option value="165">165</option>
<option value="170">170</option>
</select>
<select name="lang" id="lang" >
<option value="RUS">RUS</option>
<option value="USA">USA</option>
</select>
<select name="country_40" id="country_40" >
<option value="RUS1">RUS</option>
<option value="USA1">USA</option>
</select>
<input type='text' name='keyword' id='keyword' class='keyword'>
<select name="per_page" id="per_page" >
<option value="1">1</option>
<option value="4">4</option>
<option value="8">8</option>
<option value="16">16</option>
<option value="20">20</option>
<option value="40">40</option>
</select>
<button>Искать</button>
</form>
на выходе получаю такой адрес:
http://site.com/ru/search?age_min=18...16&um_search=1
&um_search=1 - дописывается всегда в конце, так и должно быть, так и нужно...
Хочется получить введенные значения "на лету" и при нажатии на кнопку, сформировать собственно адрес по типу указанного выше и переадресовать человека на этой же странице по сформированному адресу, Очень важно, чтобы выбранные ранее данные после загрузки страницы снова ввелись в эту форму... что бы если например человек решит изменить один из пунктов в адресе сформировались все те же, что были и а те которые он изменил изменились....
Ума не приложу, как реализовать , help me pleace
Последний раз редактировалось firsmember, 11.11.2019 в 12:50.
|
|
11.11.2019, 12:06
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
firsmember,
<form method="get" action="">
<input type="hidden" name='um_search' value='1'>
|
|
11.11.2019, 12:19
|
Кандидат Javascript-наук
|
|
Регистрация: 08.11.2019
Сообщений: 113
|
|
Спасибо, это понял, @laimas разъяснил
Последний раз редактировалось firsmember, 11.11.2019 в 13:49.
|
|
11.11.2019, 13:34
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Атрибут id, это уникальный идентификатор, грубо говоря точечный адрес элемента. Это поиск элемента по его индивидуальному признаку, которым обладает только он. Этот параметр элемента не является обязательным, и если он не используется, то прописывание его всем элементам будет означать бесполезную передачу мусора на клиента.
При передаче формы на сервер, сервер получит ассоциативный массив (в случае если на сервере такой язык как РНР) параметров, в котором ключи будут в том порядке, в котором расположены элементы формы имеющие имена равные этим параметрам. Какой порядок ключей в ассоциативном массиве, для сервера глубоко наплевать, на то она и ассоциация.
Если нужно чтобы ключ um_search был в конце и передавал значение 1, то нужно скрытое поле, которое описал рони, поместить в конец формы. Это все что нужно, а если "Это не то, что нужно...", то не понятно что вообще нужно, о чем я и упомянул в другой теме.
Последний раз редактировалось laimas, 11.11.2019 в 13:36.
|
|
11.11.2019, 13:49
|
Кандидат Javascript-наук
|
|
Регистрация: 08.11.2019
Сообщений: 113
|
|
Сообщение от laimas
|
Если нужно чтобы ключ um_search был в конце и передавал значение 1, то нужно скрытое поле, которое описал рони, поместить в конец формы. Это все что нужно, а если "Это не то, что нужно...", то не понятно что вообще нужно, о чем я и упомянул в другой теме.
|
Точно, я не понял его просто, о чем он, все верно, ок, с этим ясно..
А как реализовать на js все это? Допустим url я смогу сформировать, но как сделать все остальное, особенно после перехода по сформированному url заполнить форму теми же данными...
|
|
11.11.2019, 14:28
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от firsmember
|
Допустим url я смогу сформировать
|
Зачем его формировать, если это автоматически сделает бразуер при отправлении формы?
Сообщение от firsmember
|
после перехода по сформированному url заполнить форму теми же данными
|
Вы форму отправляете серверу или на деревню дедушке? А если серверу и он принимает ее, то может ли он вернуть ее клиенту с его выбором?
|
|
11.11.2019, 14:55
|
Кандидат Javascript-наук
|
|
Регистрация: 08.11.2019
Сообщений: 113
|
|
Я выше объяснил, это своего рода костыль, сайт будет переписываться т.к. не работает должным образом, сейчас нужно обойтись грубо говоря малой кровью, возможно то что я описал выше реализовать на js все же?
|
|
11.11.2019, 15:07
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от firsmember
|
возможно то что я описал выше реализовать на js все же?
|
Можно, но зачем тогда нужна форма, если она сама по себе? Сервер не просто должен принять форму, но и обязан проверить ее данные. Если при проверки формы будут ошибки, как поступить? Если не будет как поступить?
Каждое частное из общей задачи может влиять на сценарий, поэтому не костылями надо заниматься, а думать от общего к частному, из которого и будет видно как поступить, и где выгоднее это сделать.
|
|
11.11.2019, 15:18
|
Кандидат Javascript-наук
|
|
Регистрация: 08.11.2019
Сообщений: 113
|
|
Это форма которая фильтрует объекты... (фильтр в общем) Поля там именно те, что я отписал, при переходе по сформированной ссылке сервер все сделает. Так, что то, что я прошу, это то что мне нужно!
|
|
11.11.2019, 15:20
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от firsmember
|
Поля там именно те, что я отписал
|
Уверены, что ваш сервер будет всегда получать "ваши поля"?
|
|
|
|