Как использовать поле ввода в качестве параметра запроса к месту назначения? - PullRequest
3 голосов
/ 31 мая 2011

Для моего примера расширения Google Chrome у меня есть текстовое поле и ссылка:

<input id="textbox" type="text" value="" size="25" />
<a class="button" href="http://www.google.com"><span>Search</span></a>

Когда пользователь нажимает на ссылку, я хочу, чтобы браузер действительно перешел на:

http://www.google.com/search?q=<whatever was in textbox>

Как я могу это сделать?

Ответы [ 4 ]

3 голосов
/ 31 мая 2011

Я настоятельно советую вам использовать для этого обычную форму с кнопкой отправки. В этом случае вам даже не нужно использовать JavaScript вообще. Например:

<form action="http://www.google.com/search">
    <input id="textbox" name="q" type="text" value="" size="25" />
    <input type="submit" value="Search" />
</form>

Если вы действительно хотите использовать предоставленную разметку, лучше всего добавить идентификатор к элементу a, например, searchButton, а затем выполните:

document.getElementById("searchButton").onclick = doSearch;

function doSearch() {
    var v = document.getElementById("textbox").value;
    window.location = "http://www.google.com/search?q=" + encodeURIComponent(v);
    return false; // not entirely necessary, but just in case
}
1 голос
/ 31 мая 2011

ОБНОВЛЕННОЕ РЕШЕНИЕ:

Здесь - это пример встроенного javascript, который соответствующим образом устанавливает href ссылки, а затем позволяет обычной обработке обрабатывать перенаправление (добавленоencodeURICкомпонентная база по комментарию Марселя).

<input id="textbox" type="text" value="" size="25" />
<a class="button" id="googleLink" href="willBeChanged" 
 onclick="this.href='http://www.google.com/search?q=' + encodeURIComponent(document.getElementById('textbox').value);">
  <span>Search</span>
</a>
0 голосов
/ 01 июня 2011

Использование jquery:

   <script type="text/javascript">
    $(document).ready(function(){   
   $("#textbox").keyup(function () {
  var searchstring = $(this).val();
  searchstring = encodeURIComponent(searchstring);

  $('#searchlink').attr('href', 'http://www.google.com/search?q=' + searchstring);
  });

   });

HTML-разметка:

   <input id="textbox" type="text"  size="25">
   <a class="button" href="http://www.google.com" id='searchlink'>Search</a>
0 голосов
/ 31 мая 2011

Используйте JQuery, чтобы облегчить себе жизнь.

Ваш JQuery будет выглядеть так:

$("#linky").attr('href',"http://www.google.com/search?q="+$("#textbox").val());

Ваш HTML будет выглядеть так:

<input id="textbox" type="text" value="" size="25"></input>
<a class="button" href="www.google.com" id="linky"><span>Search</span></a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...