在你的函数函数getParams()里面你声明了变量var params = new Array(); ,我认为这会让你感到困惑
如果找到匹配项,则指定了url param,如params [nameVal [0]] = nameVal [1] ;,这实际上不会将值添加到数组对象中.所以params.length是0.但它将作为数组是对象的实例工作..即params instanceof Object为true
所以换成基本对象..避免混淆
function getParams() {
var idx = document.URL.indexOf('?');
var params = {}; // simple js object
.. here goes other code
}
和对象键区分大小写,所以FirstName将工作..
firstname = unescape(params["FirstName"]);
要打印所有值,请尝试此操作
params = getParams();
for( var i in params ){
console.log( i , params[i] );
}
它会打印出来
FirstName dd
LastName ee
smtButton Submit
我修改了你的getParams代码
function getParams() {
var params = {},
pairs = document.URL.split('?')
.pop()
.split('&');
for (var i = 0, p; i < pairs.length; i++) {
p = pairs[i].split('=');
params[ p[0] ] = p[1];
}
return params;
}