Когда пользователь вводит & остаток строки исчезает - PullRequest
1 голос
/ 16 декабря 2011

В текстовом поле поиска, когда пользователь вводит & текст после этого не передается функции.Таким образом, если в текст и вводятся данные о промышленности и тестировании, функции передается только отрасль.Как мне принять звук усилителя?

Текстовое поле:

 Search <input type="text" id="searchtxt" /><img class ="SearchNow"src="/Content/img/search1.png"/>

Jquery для вызова функции:

 $(".SearchNow").click(function () {
        var selected = $('#searchtxt').val();
        if (selected != null) {
            if (selected != "") {
                window.location = '@Url.Action("search", "Products")?partnumber=' + selected;
            }
        }
    });

функция, где не весь текст приходит:

 public ActionResult search(string partnumber)
    {


    }

Ответы [ 5 ]

1 голос
/ 16 декабря 2011

& является специальным символом в URL и отмечает следующий параметр, который будет передан. Первый параметр отмечен ? , а следующий - & . Так что закодируйте это & , и оно будет передано.

1 голос
/ 16 декабря 2011

Это будет связано с тем, что он является разделителем строки запроса. Вам нужно будет экранировать текст, прежде чем передать его на URL:

window.location = '@Url.Action("search", "Products")?partnumber=' + encodeURIComponent(selected);
1 голос
/ 16 декабря 2011

Вам нужно будет закодировать ввод пользователя способом, подходящим для перехода в URL.

Итак, измените + selected на + encodeURI(selected), и это должно помочь.

1 голос
/ 16 декабря 2011

Обернул это с:

encodeURIComponent(selected)
0 голосов
/ 16 декабря 2011

Символ & используется специальный символ для разделения параметров.

Отправленный код перенаправляет страницу на http://tld.invalid/searchAction?partnumber=industry%20&%20test

, который имеет два параметра: partnumber = "промышленность" а также test = ""

Вам необходимо закодировать параметры, чтобы правильно передать их на сервер.

var selected = encodeURIComponent( $('#searchtxt').val() );
window.location = '@Url.Action("search", "Products")?partnumber=' + selected;

, который должен перенаправить пользователя на http://tld.invalid/searchAction?partnumber=industry%20%26%20test

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