javascript/jquery для изменения location.href

Это мой HTML

        <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>

Идея заключается в том, что нажав на кнопку отправить, javascript/jquery получит значение #procurar-submit, добавит его в URL и перенаправит пользователя.

Бланк до сих пор не работает

Заранее спасибо.

2 ответа

Решение

Похоже, у вас нет действия, указанного в теге формы. Почему бы просто не изменить второй элемент ввода с 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');
  });
});

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

РЕДАКТИРОВАТЬ Я изменил селектор, который получает значение текстового поля. Я мог бы добавить класс или идентификатор в этом текстовом поле, чтобы его можно было идентифицировать отдельно от других. Смотрите эту скрипку

Используйте 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>

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

Другие вопросы по тегам