Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Формирование ссылки (https://javascript.ru/forum/events/45248-formirovanie-ssylki.html)

Good_Good 20.02.2014 16:29

Формирование ссылки
 
Добрый день, форумчане. Помогите мне с одной проблемкой. Суть в том, что пользователь вводит фразу в текстовом поле, которая заносится в переменную str. Нужно сформировать переход по ссылке вида "http:/site"+str+"context.ru" . Вроде ничего сложного, но составить рабочий скрипт не получается. В листинге перебор различных вариантов, но не один нормально у меня не заработал.

Листинг:

<script type="text/javascript">

var str=$('#poisk').attr("value");
var str2="http://www.site.ru/search?q="+str+"&from=ac" ;

</script>



<form>
<input type="text" name="var" value=" " id="poisk" />

<!-- <input type="button" value="go" onclick="location.href=str2 /> -->
<!-- <a name="1" style="color:blue; text-decoration:underline; cursor:hand" onclick="window.location='str2';">Перейти</a>-->
<!--<a href="javascript:document.str2.submit();">Пере йти</a> -->

</form>

рони 20.02.2014 16:47

Good_Good,
сначала ввели фразу -- потом считали данные -- потом делайте переход куда нужно.
Цитата:

Сообщение от Good_Good
$('#poisk').attr("value");

$('#poisk').val() -- но и это бесполезно пока никто не следит за вводом фраз

Good_Good 20.02.2014 16:52

рони,
А как сделать это отслеживание фразы ? Я думаю правильно понял, что если я скрипт пихну между полем и кнопкой, ничего не изменится..

рони 20.02.2014 16:58

Good_Good, jочень упрощённый вариант
на самом деле должна быть функция
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script>
     str2 = ''
  </script>
</head>

<body>
<form action="http://">
 <input type="text" name="var" value="" id="poisk"  oninput='str2="http://www.site.ru/search?q="+this.value+"&from=ac"'/>
 <input type="button" value="go" onclick="alert(str2)" />
</form>
</body>

</html>

Good_Good 20.02.2014 17:22

рони,
а вот тут надо дописывать что-то <form action="http://"> . Потому что выскакивает:

Вы попытались получить доступ к адресу http:///?var=korn, который сейчас недоступен. Убедитесь, что веб-адрес (URL) введён правильно, и попытайтесь перезагрузить страницу.


Или я уже окончательно поплыл и не то делаю.
Листинг:

<script type="text/javascript">

var str=$('#poisk').attr("value");

</script>


<form action="http://">
<input type="text" name="var" value="" id="poisk" oninput='str="http://www.site.ru/search?q="+this.value+"&from=ac"'/>
<input type="button" value="go" onclick="alert(str)" />
</form>

рони 20.02.2014 17:31

Цитата:

Сообщение от Good_Good
oninput='str="http

выкиньте str из ваших кодов раз вам это ненужно и поставьте this.action
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
 <form action="http://www.site.ru/search">
 <input type="text" name="q" />
 <input name="" type="submit" value="Перейти">
</form>
</body>

</html>

и вам сюда

Good_Good 20.02.2014 17:50

рони,

Работает, только кривовато немного.

вместо http://www.site.ru/search?q="+строка+"&from=ac

получается http://www.site.ru/search?var=строка

рони 20.02.2014 17:59

Good_Good,
смотрите код выше

danik.js 20.02.2014 22:33

Смешно было наблюдать как вы шли к решению, которое проще некуда, да еще и js не требует :D
Бывает, че. Особенно когда либо нихера не знаешь, либо в голове прочно засел JS.
Кое-кто например через iframe решал бы (не буду называть этого человека :) )

Deff 20.02.2014 22:57

А кое-кто мнит себя гуру, реальные давно уж не сидят на этом сайте
Я читал этот топик, кстати чтобы подойти к решению было не слишком простым при начальной заумной постановке

На счет без js - оспоримо, поскольку неплохо бы кастомизировать поиск
Пример: http://udomovogo.rusff.ru/search.php?action=show_24h
Иконка поиска справо:


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