Подтвердить что ты не робот

Window.location.href не работает

Мой сайт http://www.collegeanswerz.com/. Я использую рельсы. Код предназначен для поиска колледжей. Я хочу, чтобы пользователь мог ввести имя колледжа, нажать "Enter" и перейти к URL-адресу, а не видеть результаты поиска (если пользователь правильно вводит имя, если нет, я хочу показать результаты поиска), Я использую "a" и "stackoverflow.com" в качестве заполнителей, пока я пытаюсь заставить его работать.

Я использую window.location.href на основе этого: Как перенаправить на другую веб-страницу в JavaScript/jQuery?

Javascript

$("#search_text").submit(function() {
    if ($("#search_field").val() == "a")
    {
        window.location.href = "http://stackoverflow.com";
        alert('worked');
    }
});

файл макета

<%= form_tag("/search", :method => 'get', :id => 'search_text', :class => 'form_search') do -%> 
    <div id="search"> <%= search_field_tag :search, params[:search], :placeholder => 'enter college', :id => "search_field", :class => 'input-medium search-query' %></div> 
<% end -%>

static_pages_controller.rb

def search
  @colleges = College.search(params[:search])
end

Предупреждение работает, что говорит мне, что вещи внутри оператора if должны выполняться. Но это приводит меня к обычным результатам поиска вместо stackoverflow.com. Почему это?

4b9b3361

Ответ 1

Браузер по-прежнему отправляет форму после запуска вашего кода.

Добавьте return false; в обработчик, чтобы это предотвратить.

Ответ 2

Попробуйте это

`var url = "http://stackoverflow.com";    
$(location).attr('href',url);`

Или вы можете сделать что-то вроде этого

// similar behavior as an HTTP redirect
window.location.replace("http://stackoverflow.com");

// similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com";

и добавьте return false в конце вызова функции

Ответ 3

Пожалуйста, проверьте, что вы используете // not \\ по ошибке, например ниже

Wrong:"http:\\stackoverflow.com"

Right:"http://stackoverflow.com"