[英]passing and retrieving Latin Character in URL query string
我有两个HTML小号step1.html
和step2.html
和我传递拉丁值( envían
从) step1.html
送tep2.html
通过URL查询字符串由具有传递值( envían
在输入字段值)(在step1.html
处于隐藏状态。
我正在使用某些实用程序功能在step2.html
获取查询字符串参数的值,并且在一个文本框中显示该值,但在文本框中获得的值与传递的值不同,请参见屏幕截图。
获得了í
编码值,也帮助我在step2.html
获得了相同的值í
。
编辑:一个缺点是step2.html
是twitter.com,那里我不能做任何解码。 见下面的截图
在此先感谢您的帮助。
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
</head>
<body>
<div class="">
<form action="step2.html">
<input type="submit" value="click to submit"/>
<input type="hidden" name="val" value="envían" />
</form>
</div>
</body>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<script>
var QueryString = function () {
// This function is anonymous, is executed immediately and
// the return value is assigned to QueryString!
var query_string = {};
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
// If first entry with this name
if (typeof query_string[pair[0]] === "undefined") {
query_string[pair[0]] = pair[1];
// If second entry with this name
} else if (typeof query_string[pair[0]] === "string") {
var arr = [ query_string[pair[0]], pair[1] ];
query_string[pair[0]] = arr;
// If third or later entry with this name
} else {
query_string[pair[0]].push(pair[1]);
}
}
return query_string;
} ();
function fngetval(){
var val=QueryString.val;
document.getElementById("status").value=val;
}
</script>
<style>
</style>
</head>
<body onload="fngetval();">
<div class="">
<textarea id="status" name="status" ></textarea>
</div>
</body>
您不能在URL中使用í
,因此不能将其编码为%ED
。
您可以1)使用POST
表单代替默认的GET
。 或2)解码val
变量的值。 请参阅以下堆栈溢出问题: JavaScript URL解码功能 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.