Добавить хеш-символ # в URL для действия формы? - PullRequest
14 голосов
/ 30 июля 2009

Итак, у меня есть форма с кнопкой отправки и ввода текста ...

Я хочу: http://localhost/

стать: http://localhost/#q=

Я сделал решение в javascript, которое включает в себя изменение «действия» формы на URL с помощью нажатия на хэш ... но это не работает в IE.

У кого-нибудь есть решение, которое работает во всех браузерах?

Ответы [ 2 ]

9 голосов
/ 16 января 2013

Я столкнулся с подобной проблемой, когда IE не извлекал хеш из действия формы.

У меня была форма

<form action="/#search" id="search-form">
   <input type="text" class="search-query" placeholder="Search" name="q">
</form>

Когда я отправил эту форму в любом месте, кроме IE, страница перешла на

/?q=searchparams#search

Но в IE это пошло на

/?q=searchparams

Чтобы решить эту проблему, я использовал JQuery для привязки к действию отправки и перенаправления на страницу, на которую я хотел перейти.

$("#search-form").submit(function() {
    var query = $('input[name="q"]').val();
    window.location.href = 'index.php?q='+query+'#search';
    return false;
}); 

С тех пор все работает нормально.

7 голосов
/ 30 июля 2009
<script>
function add_hash() {
    window.location.hash = "q=";
}    
</script>

<form onsubmit="add_hash(); return false;">

Не уверен, что ты делаешь с этим, хотя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...