Как дописывать + вместо %20?

При редактирование текста нужно подставлять слово или несколько слов в bb ссылку [url=текст]текст[/url] и когда подставляется несколько слов то естественно есть пробел и то тогда в браузере выходит пробел %20 а нужно чтоб было красиво +, помогите допилять код

например
https://www.google.com/search?q=Гипоацыдный%20гастрит

нужно
https://www.google.com/search?q=Гипоацыдный+гастрит


var textarea;
var content;

function edToolbar(obj) {
	var path = "bbeditor";
    document.write("<div class=\"bbtoolbar\">");
	
	document.write("<img alt=\"Добавить ссылку\" title=\"Добавить ссылку\" class=\"bbfade\" src=\"" + path + "/images/linkbb.gif\" name=\"btnLink\" onClick=\"doURLbb('" + obj + "')\">");	

				}



function doURLbb(obj)
{
textarea = document.getElementById(obj);
var url = prompt('Введите адрес ссылки URL:','');
var scrollTop = textarea.scrollTop;
var scrollLeft = textarea.scrollLeft;
	
	if (document.selection) 
			{
				textarea.focus();
				var sel = document.selection.createRange();
				
			if(sel.text==""){
					sel.text = '[url]' + url + '[/url]';//[url]ссылка[/url]
					} else {
					sel.text = '[url=' + sel.text + ']' + sel.text + '[/url]';//[url=ссылка]текст[/url]
					}			
	
				//alert(sel.text);
				
			}
   else 
    {
		var len = textarea.value.length;
	    var start = textarea.selectionStart;
		var end = textarea.selectionEnd;
			
        var sel = textarea.value.substring(start, end);
		
		if(sel==""){
				var rep = '[url]' + url + '[/url]';
				} else
				{
				var rep = '[url=' + sel + ']' + sel + '[/url]';
				}
	    //alert(sel);
			
        textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
	
		textarea.scrollTop = scrollTop;
		textarea.scrollLeft = scrollLeft;
	}	
}
  • Вопрос задан
  • 114 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Используйте URLSearchParams() — они кодируют пробел в плюс. В отличие от encodeURIComponent()

(new URLSearchParams({q: 'QnA Habr'})).toString()
// "q=QnA+Habr"
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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