如果参数中有空格或括号,有人可以告诉我为什么这个脚本不会预填充表单。它适用于字母,数字和下划线,但是空格和括号会停止工作。这是代码。
<!DOCTYPE>
<html>
<head></head>
<body>
<input name="name_f" id="name_f-0" type="text"/><br/>
<input name="name_1" id="name_1-0" type="text"/><br/>
<input name="email" id="email-0" type="text"/><br/>
<input name="password" id="password" type="text"/><br/>
<input name="contact" id="contact" type="text"/>
<script type="text/javascript">
function _id(e) {
return document.getElementById(e)
}
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]] = decodeURIComponent(pair[1]);
// If second entry with this name
} else if (typeof query_string[pair[0]] === "string") {
var arr = [query_string[pair[0]], decodeURIComponent(pair[1])];
query_string[pair[0]] = arr;
// If third or later entry with this name
} else {
query_string[pair[0]].push(decodeURIComponent(pair[1]));
}
}
return query_string;
}();
if (QueryString.name(awf_first)) {
_id('name_f-0').value = QueryString.name(awf_first);
_id('name_1-0').value = QueryString.name(awf_last);
_id('email-0').value = QueryString.email;
_id('password').value = QueryString.password;
_id('contact').value = QueryString.contact;
}
// QueryString.nameofparameter
// ex: QueryString.email
// QueryString.password
// QueryString.name
// QueryString.otherparameter
// QueryString.anothername
</script>
</body>
</html>