我阅读了一些文章并尝试了一些方法,但无法使其发挥作用。
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('/','\/')
甚至是{{ 1}}很的东西,根本没用。
所以,所有这些方法都没有成功。我真的很感激这里的提示或解决方案。
答案 0 :(得分:3)
试试这个
onclick="getProductUrl('" + url + "');"
更新的代码行:
htmlCode += '<button id="' + addButtonId + '" title="' + addButtonTitle + '" class="button" onclick="getProductUrl(\'' + url + '\'); return false;"><span><span>' + addWithButonTitle + '</span></span></button>';