我使用来自aweber的代码,将用户信息从注册传递到下一页, 这是来自aweber的代码
<script type="text/javascript">
var formData = function(){
var query_string = (location.search)?((location.search.indexOf('#') != -1) ? location.search.substring(1, location.search.indexOf('#')) : location.search.substring(1)) : '';
var elements = [];
if(query_string){
var pairs = query_string.split("&");
for(i in pairs) {
if (typeof pairs[i] == 'string') {
var tmp = pairs[i].split("=");
var queryKey = unescape(tmp[0]);
queryKey = (queryKey.charAt(0) == 'c') ? queryKey.replace(/\s/g, "_") : queryKey;elements[queryKey] = unescape(tmp[1]);
}
}
}
return{display: function(key){if(elements[key]){document.write(elements[key]);
}else {
document.write("<!--If desired, replace everything between these quotes with a default in case there is no data in the query string.-->");
}}}}();
</script>
然后这是显示名称
的页面上的代码 <script type="text/javascript">formData.display("fullname")</script>
示例输出为FirstName%20LastName
是否有办法删除%20
?
答案 0 :(得分:4)
%20是url编码中的空白符号。由于某种原因,您的函数返回url编码的数据。尝试使用url解码输出,你的%20应该表示为空格。
您可以使用decodeURI(http://www.w3schools.com/jsref/jsref_decodeuri.asp)
编辑:
这是一个工作的小提琴手。
var result = 'Firstname%20Lastname';
var result = decodeURI(result);
document.getElementById('demo').innerHTML = result;
答案 1 :(得分:0)
该数据是网址编码的,因此请使用decodeURI
或decodeURIComponent
对其进行解码:
var result = decodeURI(input);
答案 2 :(得分:0)
看起来您需要对数据进行urldecode,请查看decodeURIComponent()