我在javascript中有一个查询字符串,如下所示:Default.aspx?7KCN0008-001当我尝试将7KCN0008-001插入文本框时,我得到[object Object]我如何将值放在文本框中就是我拥有的:
function test() {
var urlParams;
(window.onpopstate = function () {
var match,
pl = /\+/g, // Regex for replacing addition symbol with a space
search = /([^&=]+)=?([^&]*)/g,
decode = function (s) { return decodeURIComponent(s.replace(pl,"")); },
query = window.location.search.substring(1);
urlParams = {};
while (match = search.exec(query))
urlParams[decode(match[1])] = decode(match[2]);
})();
$('#txtStockCode').val(urlParams[decode(match[1])]);
}
答案 0 :(得分:1)
我可能正在咆哮错误的树,但正如您在问题中所写,如果URL类似于Default.aspx?7KCN0008-001
,您可以通过此代码获取字符串7KCN0008-001
。
query = window.location.search.substring(1);
所以我说你可以把这个字符串放到文本框中
$('#txtStockCode').val(query);
location.search
的文件在这里:
http://www.w3schools.com/jsref/prop_loc_search.asp
希望这会有所帮助。
<小时/> 修改强>
好的,如果查询是7KCN0008-001 SAVSS0.85B 2180 916941-000%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20 917418-060
,我想你可以这样做:
HTML:
<input type="text" id="t1">
<input type="text" id="t2">
<input type="text" id="t3">
<input type="text" id="t4">
<input type="text" id="t5">
<input type="text" id="t6">
使用Javascript:
var query = window.location.search.substring(1); // "7KCN0008-001 SAVSS0.85B ...."
var decoded = decodeURI(query);
var ary = decoded.replace(/\s{2,}/g, ' ').split(' ');
for (var i = 0; i < ary.length; i++) {
$("#t"+(i+1)).val(ary[i]);
}
<强>样本强> JSfidle在这里:http://jsfiddle.net/naokiota/pH4mB/2/
希望这有帮助。
答案 1 :(得分:0)
我认为你对数据结构感到困惑。首先将它定义为一个Object然后你说它是一个数组。
urlParams = {};
urlParams[decode(match[1])] = decode(match[2]);
你需要找出decode的值(匹配[1])并在.val方法中使用它作为一个数组....
$('#txtStockCode').val(urlParams[decode(match[1])]);