Я прочитал несколько статей и попробовал некоторые подходы, но не смог заставить их работать.Пропущенная строка URL-адреса не интерпретируется как строка
htmlCode += '<button id="' + addButtonId + '" title="' + addButtonTitle + '" class="button" onclick="getProductUrl(' + url + '); return false;"><span><span>' + addWithButonTitle + '</span></span></button>';
и сама функция:
getProductUrl: function(url) {
return setLocation('\'' + decodeURIComponent(url) + document.getElementById('qty_field').value + '\'');
},
По-видимому, строковое значение url
не рассматривается как строка. Я получаю ошибку отсутствующего кронштейна здесь: getProductUrl(http:
^//...rest of the url
. Конечно, проблема не в скобках, а в том, что //
рассматриваются как начало комментария.
Так что мне нужно сделать это, чтобы передать это значение url
значение CORRECTLY как строку. Я попробовал первое декодирование, а затем проходящий (потому что decodeURIComponent(url)
должен возвращать строку Также я попробовал String(url)
и url + ""
также какой-то образом избежать специальных символов:... url.replace('/','\/')
или даже /g
пимпочки, которые не работают на всех
Итак, все эти подходы не увенчались успехом, я бы очень признателен за подсказку или решение здесь
Что такое код 'onclick =" getProductUrl ('+ url +'); "?? Я сомневаюсь, что это полная линия. –
@FelixKling - Я обновил свой вопрос, поставив полную строку кода. :) – Syspect
В этом случае ваш код должен выглядеть так: 'htmlCode + = '';' – peerless