2015-10-22 2 views
-2

избежать специальных символов в JavaScript

$.ajax({ 
 
    url: "/Search/GetMatchCount?idx=" + idx + "&q=" + escape(q) + "&filter=" + escape(filter) + "&fields=" + fields, 
 
    success: function (data) { 
 
    $("#tabprograms").html("Customer Programs (" + data + ")"); 
 
    } 
 
});

У меня есть строка «гражданское управление +» в моем поиске текстового поле.

Я хочу получить значение текстового поля в некоторой локальной переменной с помощью jquery/javascript. Мой код:

var q = document.getElementById('q').value; 

Значение, которое я получаю для q, - это «гражданское управление». Символ '+', кажется, закодирован с помощью "".

Как не кодировать его в "" и иметь свою строку как есть, то есть "civic + management".

+0

Невозможно воспроизвести: http://jsfiddle.net/9c8smu9j/. Значение содержит '+'. Что-то еще должно быть на работах, которые заменяют '+'. DOM API не делает этого сам по себе. –

+0

вы должны передавать строку через функцию регулярного выражения некоторого типа – PC3TJ

ответ

-1

Ваша проблема в том, что вы используете ESCAPE (q). ESCAPE не может кодировать символ +, который вам нужен для использования encodeURIComponent (q), а затем декодировать в php с помощью rawurldecode() или вы также можете изменить свой метод на POST.

+0

это мой код, и я использую следующее в файле javascript, var q = document.getElementById ('q'). ; –

+0

, чтобы добавить, я использую хром. –

+0

в окне предупреждения, это дает мне гражданское + управление. но когда я добавляю часы для q, он показывает значение q как гражданское управление –

Смежные вопросы