我也在2个月前遇到过这个问题,但我还没能解决它。
我的网页上有可以向我的网站购买虚拟货币的盒子,定价就像使用JavaScript一样奇怪(如果我设置500点1美元,它将自动计算所有价格)。现在每当我点击" Order"时,它会写出类似这样的东西:
文件:/// C:?/Users/MyName/Desktop/MyPage/transaction.html totalprice = 3
因此总价格设置如下:
<a href="transaction.html?totalprice=6"><img src="" alt=""/></a>
我尝试过10种不同的方法来打印&#34; totalprice&#34;到transaction.html页面,但它不会显示它并使用alert,它会说它是未定义的。怎么了?这是否重要,因为我没有托管该网站,因为它只在我的浏览器中来自文件。
How can I get query string values in JavaScript?我已尝试过这方面的所有方法,但这些方法都不适合我。
答案 0 :(得分:0)
跟着这个。
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
window.onload = function() {
document.getElementById("p_1").innerHTML = getParameterByName('totalprice', 'transaction.html?totalprice=1');
document.getElementById("p_2").innerHTML = getParameterByName('totalprice', 'transaction.html?totalprice=2');
document.getElementById("p_3").innerHTML = getParameterByName('totalprice', 'transaction.html?totalprice=3');
document.getElementById("p_4").innerHTML = getParameterByName('totalprice', 'transaction.html?totalprice=4');
}
&#13;
<p>You are about to buy 500 pts for $<span id="p_1"></span></p>
<p>You are about to buy 1000 pts for $<span id="p_2"></span></p>
<p>You are about to buy 1500 pts for $<span id="p_3"></span></p>
<p>You are about to buy 2000 pts for $<span id="p_4"></span></p>
&#13;