перенаправьте пользователя к текущей странице с некоторым querystring использование JavaScript

Более короткий ответ: нет, необходимо закодировать пространство; это корректно для кодирования пространства +, но только в строке запроса; в пути необходимо использовать %20.

23
задан Thomas Clayson 8 August 2012 в 10:30
поделиться

8 ответов

window.location.href = window.location.href + "? Search =" + escape ($ ("# someId"). val ()); ?

8
ответ дан 29 November 2019 в 02:01
поделиться

Как насчет:

window.location = "/currentpage.aspx?search=" + escape( $("#someId").val());

или

window.location = window.location.pathname + "?search=" + escape( $("#someId").val());

И т. Д ...

5
ответ дан 29 November 2019 в 02:01
поделиться

Проблема с добавлением чего-либо в window.location.href в том, что если вы уже это сделали? Просто продолжайте добавлять "? Search = ..." несколько раз. Что еще более важно, это сложнее, чем должно быть.

Вы уже используете jQuery. Почему бы просто не сделать это?

<form id="search" method="get">
<input type="text" name="search">
</form>
<a href="#" id="go">Search</a>

с помощью:

$(function() {
  $("#go").click(function() {
    $("#search").submit();
    return false;
  });
});

и тогда вам не нужно беспокоиться о правильном URL, кодировке и т. Д.

2
ответ дан 29 November 2019 в 02:01
поделиться

вам нужно добавить фактический базовый URL

window.location.href = window.location.href + "?search=" + escape( $("#someId").val());
1
ответ дан 29 November 2019 в 02:01
поделиться

Вы изменяете неправильное свойство местоположения, если хотите изменить только строку поиска. Думаю, вы хотите это сделать:

location.search = "?search=" + encodeURIComponent( $("#someId").val());
1
ответ дан 29 November 2019 в 02:01
поделиться
 $(document).ready(function(){
     $('a').click(function(e){

         window.location = "?search=" + encodeURIComponent($("#someId").val());

         //this line of code is intended for older ie and might work,
         //because I don't remember it exactly
        e.stopPropagation();

         return false;
     });                                                                   

});

1
ответ дан 29 November 2019 в 02:01
поделиться

Какая часть не работает?

Попробуйте encodeURI () вместо escape ().

0
ответ дан 29 November 2019 в 02:01
поделиться
$("a").click(function() {

 document.location.href += "?search=" + encodeURIComponent($("#myTextBox").val());


});
0
ответ дан 29 November 2019 в 02:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: