Получить данные из инпутов и подставить их в формулу для поиска.
Доброго времени уважаемые форумчане! Я только осваиваю 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, время: 21:59. |