2013-03-06 6 views
2

Это мой HTMLJavaScript/JQuery изменить location.href

 <form id="procurar-novo"> 
      <input type="text" name="procurar" placeholder="Pesquisar no Site" value=""> 
      <input id="procurar-submit" type="button" value="&rsaquo;"> 
     </form> 

И это мой JQuery

<script type="text/javascript"> 
    $(document).ready(function(){ 
    $('#procurar').submit(function(e) { 
     e.preventDefault(); 
     //edited 
     window.open = ('http://www.psicotropicus.org/'+'/busca'+encodeURIComponent($('#procurar-submit').val()), '_blank'); 
     return false; 
    }); 
    }); 
</script> 

ideai что, нажав на отправки, JavaScript/JQuery будет получить # procurar-submit значение и добавить его в URL-адрес и перенаправить пользователя.

_blank до сих пор не работает

Спасибо заранее.

+0

Sooooo, в чем проблема? –

+0

Это не работает так, как я закодировал. – Rafael

+1

Почему бы просто не отправить форму как нормальный 'GET'? – Mathletics

ответ

1

Похоже, вы не указали тег, указанный в теге формы. Почему бы просто не изменить второй входной элемент от type=submit до type=button. Затем вы можете привязать событие клика на этой кнопке и полностью контролировать, что будет дальше. Вам не нужно беспокоиться о предотвращении действия отправки по умолчанию. Вы можете сделать следующее:

$(document).ready(function(){ 
    $(document).on('click', '#procurar-submit', function() { 
    window.location.href = 'http://www.psicotropicus.org/busca'+$('input[name="procurar"]').val(); 
    }); 
}); 

Чтобы открыть новое окно, как на «_blank» вы можете изменить код, чтобы быть:

$(document).ready(function(){ 
    $(document).on('click', '#procurar-submit', function() { 
    window.open('http://www.psicotropicus.org/busca'+$(input[name="procurar"]).val(), '_blank'); 
    }); 
}); 

Но будьте осторожны с блокировщики всплывающих окон

EDIT Я изменил селектор, который получает значение текстового поля. Я мог бы добавить класс или идентификатор в это текстовое поле, чтобы его можно было отличить от других. См. Это fiddle

+0

Спасибо за подсказку. Я изменил тип для «кнопки», но javascript, похоже, не работает. Я получаю перенаправление на http://rflbrz.zz.mu/psico/?procurar=lalala вместо того, что вы написали. – Rafael

+0

Этот домен даже не близок к тому же, что и в коде? Разве что-то другое? –

+0

Фактически, смена типа на кнопку не помогла. Когда это был тип отправки, я был перенаправлен, по крайней мере, на URL выше. – Rafael

2

Использование window.open со вторым параметром _blank

window.open('url', '_blank'); 

Попробуйте также:

<script type="text/javascript"> 
    $(document).ready(function(){ 
    $('#procurar').submit(function(e) { 
     e.preventDefault(); 
     //edited 
     window.open = ('http://www.psicotropicus.org/'+'/busca'+encodeURIComponent($('#procurar-submit').val()), '_blank'); 
     return false; 
    }); 
    }); 
</script> 

Последнее редактирование:

<script> 
    $(document).ready(function(){ 
    $('form#procurar-novo').submit(function(e) { 
     //e.preventDefault(); 
     //edited 
     var url = 'http://www.psicotropicus.org'+'/busca'+ encodeURIComponent('&' + $('input[name=procurar]').val()); 
     window.open(url, '_blank'); 
     return false; 
    }); 
    }); 
</script> 

<form id="procurar-novo"> 
      <input type="text" name="procurar" placeholder="Pesquisar no Site" value=""> 
      <input id="submitsss" type="submit" value="&rsaquo;"> 
</form> 

Пожалуйста, обратите внимание имена и идентификаторы элементов формы)

+0

Помогите мне с этим: Идея состоит в том, что, щелкнув по отправке, javascript/jquery получит значение # procurar-submit и добавит его на URL и перенаправить пользователя. Открытие его на новой вкладке является лишь второстепенной проблемой. – Rafael

+0

@ Rafael: см. Обновление – 2013-03-06 20:56:39

+0

, но он по-прежнему перенаправляет меня на http://www.psicotropicus.org/busca?procurar=aa, когда я ищу «аа» вместо этой ссылки. и он не открывается на новой вкладке. но я думаю, мы почти там! – Rafael