Получить данные из инпутов и подставить их в формулу для поиска.
Доброго времени уважаемые форумчане! Я только осваиваю JS и поэтому еще очень жестоко нублю, так что прошу Вашей помощи. (надеюсь сильно не запинаете)
И так, имеется 3 импута - Фамилия, Имя, Отчество. Эти импуты имеют три версии самих себя же, вся разница лишь в ссылках страниц. Необходимо получить часть urla и создать условие, при котором будет проверяться полученный кусок урла с вариантами, что у меня имеются (вот как выглядит нужный кусок урла ?type=1),а затем получить значения, что введет пользователь в эти импуты. После этого их необходимо подставить в форму, что я приведу ниже. После этого необходимо энкодить полученную строку и сделать из всего этого ссылку по шаблону. У меня имеется версия этого решения на PHP, но нужно перевести все это дело в JS И так, вот отрывок версии на PHP if (isset($_POST['search_button'])) { //$websearch_queries =['fl'=>'','email1'=>'','email2'=>'','tl' =>'', 'tl_soc'=>'', 'tl_ya'=>'']; //проверяем есть ли в урле ?type=1 if($type==1){ // создаем переменную и передаем в нее ФИО из полей ввода "input" $google_query1="(\"{$_POST['surname']} {$_POST['name']} {$_POST['otchestvo']}\") & ((site:adress1.ru) OR (site:adress2.ru) OR (site:adress3.ru) OR (site:adress4.net) OR (site:adress5.com) OR (site:adress6.ru) OR (site:adress7.ru) OR (site:adress8.ru) OR (site:adress9.org) OR (site:adress10.ru) OR (site:adress11.ru) OR (site:adress12.net) OR (site:adress13.kz) OR (site:adress14.ru) OR (site:adress15.ru))"; $google_query2="(\"{$_POST['surname']} {$_POST['name']} {$_POST['otchestvo']}\") & ( \"параметр1\" OR \"параметр2\" OR \"параметр3\" OR \"параметр4\" OR \"параметр5\" OR \"параметр6\" OR \"параметр7\" OR \"параметр8\")"; // энкодим полученный массив $google_query1=urlencode($google_query1); $google_query2=urlencode($google_query2); // делаем ссылку для перехода. $websearch_queries['fl_FIO_soc_google']="https://www.google.ru/?gws_rd=ssl#q= {$google_query1}&newwindow=1&start=50"; $websearch_queries['fl_FIO_google']="https://www.google.ru/?gws_rd=ssl#q= {$google_query2}&newwindow=1&start=50"; Вот пример наших imput'ов <input style="width:100%;" type="text" name="surname" id="surname" value=""> <input style="width:100%;" type="text" name="name" id="name" value=""> <input style="width:100%;" type="text" name="otchestvo" id="otchestvo" value=""> Вот пример того, как я это вижу, но не могу реализовать. // получаем часть строки из url'a и записываем ее в "searchAdress" var searchAdress = location.search; // создаем переменную "url" и передаем ей значение "searchAdress" var url = searchAdress; // создаем переменную "lastName" и записываем в нее значение Фамилии из инпута "surname" тут какая-то магия // создаем переменную "firstName" и записываем в нее значение имени из инпута "name" и тут какая-то магия // создаем переменную "middleName" и записываем в нее значение отчества из инпута "otchestvo" и снова какая-то магия // создаем начальное условие // не уверен что все правильно написал, так как часть взял просто из php что выше - if( 'url' == '?type=1' ) { // создаем переменную и передаем в нее ФИО из полей ввода "input" $google_query1="(\"{$_POST['surname']} {$_POST['name']} {$_POST['otchestvo']}\") & ((site:adress1.ru) OR (site:adress2.ru) OR (site:adress3.ru) OR (site:adress4.net) OR (site:adress5.com) OR (site:adress6.ru) OR (site:adress7.ru) OR (site:adress8.ru) OR (site:adress9.org) OR (site:adress10.ru) OR (site:adress11.ru) OR (site:adress12.net) OR (site:adress13.kz) OR (site:adress14.ru) OR (site:adress15.ru))"; $google_query2="(\"{$_POST['surname']} {$_POST['name']} {$_POST['otchestvo']}\") & ( \"параметр1\" OR \"параметр2\" OR \"параметр3\" OR \"параметр4\" OR \"параметр5\" OR \"параметр6\" OR \"параметр7\" OR \"параметр8\")"; // энкодим полученный массив $google_query1=urlencode($google_query1); $google_query2=urlencode($google_query2); // $websearch_queries['FIO_google1']="https://www.google.ru/?gws_rd=ssl#q= {$google_query1}&newwindow=1&start=50"; $websearch_queries['FIO_google2']="https://www.google.ru/?gws_rd=ssl#q= {$google_query2}&newwindow=1&start=50"; } форма по которой составляю ссылку для поисковика: ("Фамилия Имя Отчество") & ((site:adress1.ru) OR (site:adress2.ru) OR (site:adress3.ru) OR (site:adress4.net) OR (site:adress5.com) OR (site:adress6.ru) OR (site:adress7.ru) OR (site:adress8.ru) OR (site:adress9.org) OR (site:adress10.ru) OR (site:adress11.ru) OR (site:adress12.net) OR (site:adress13.kz) OR (site:adress14.ru) OR (site:adress15.ru)) И ("Фамилия Имя Отчество") & ( "параметр1" OR "параметр2" OR "параметр3" OR "параметр4" OR "параметр5" OR "параметр6" OR "параметр7" OR "параметр8") Буду очень благодарен за помощь! Еще раз, прошу прощения за нубство, но как-то не успел я еще всего охватить. |
Цитата:
|
Цитата:
|
Нет, данная функция не "слепляет" массив в строку, таким занимает implode(), а http_build_query() генерирует URL-кодированную строку запроса.
|
Цитата:
|
Я не вникал в логику, времени нет у меня сейчас, а вот куча лишнего в коде в глаза бросается сразу, а в чем ваша логика и чего вы хотите? :)
|
и еще, если можно, подскажите пожалуйста по поводу получения введенных данных в инпут. Как их можно получить и записать в какую либо переменную?
|
Цитата:
|
Цитата:
$v = $_POST['name']; и следом эта переменная используется, а далее по коду вообще не нужна, то это пустое занятие, с таким же успехом можно сразу использовать $_POST['name'], без посредников. Ставится задача, под задачу пишется логика кода, вот эта логика и будет определять нужны ли будут переменные и какие. Так что суть вашего вопроса не совсем понятна. |
Цитата:
1. Нужно получить часть url и сделать проверку на соответствие полученного куска одному из трех условий. получаю часть url таким образом: var searchAdress = location.search; var url = searchAdress; 2. Далее получаю введенные данные из инпутов. 3. Создаем условие на соответствие одному из трех вариантов, а именно (далее прилагаю полученные части из url): ?type=1 ?type=2 ?type=3 Если я все правильно сделал, то выглядит это так if( 'url' == '?type=1' ) { } 4. Генерируем ссылку, для перехода в поисковик вот по такой логике: ("Фамилия Имя Отчество") & ((site:adress1.ru) OR (site:adress2.ru) OR (site:adress3.ru) OR (site:adress4.net) OR (site:adress5.com) OR (site:adress6.ru) OR (site:adress7.ru) OR (site:adress8.ru) OR (site:adress9.org) OR (site:adress10.ru) OR (site:adress11.ru) OR (site:adress12.net) OR (site:adress13.kz) OR (site:adress14.ru) OR (site:adress15.ru)) Но как это делается, я уже догадался, благодаря Вашему ответу :) 5. Открываем полученную ссылку в новом окне. Как - то так :) |
Часовой пояс GMT +3, время: 16:15. |