我想用JavaScript编写一个函数,以便能够通过超链接提前填写表单字段-从地址行(URL参数)传递参数到表单字段。
URL:[…]/. aspx ? firstname =扩音器;lastname =测试
点击链接后,登录区域的两个输入字段现在应该已经预先填充了"My"one_answers"Test".
前端部分:
<script type="text/javaScript">
function getUrlParameter(par) {
var value = '';
var UrlParameter = window.location.search;
if (UrlParameter != "") {
var i = UrlParameter.indexOf(par + "=");
if (i >= 0) {
i = i + par.length + 1;
var k = UrlParameter.indexOf("&", i);
if (k < 0) {
k = UrlParameter.length;
}
value = UrlParameter.substring(i, k);
for (i = 0; i < value.length; i++) {
if (value.charAt(i) == '+') {
value = value.substring(0, i) + " " + value.substring(i + 1, value.length);
}
}
value = unescape(value);
}
}
else {
document.write("error");
}
return value;
}
function init() {
var firstname= getUrlParameter("firstname");
document.Kontakt.Firstname.value = firstname;
var lastname= getUrlParameter("lastname");
document.Kontakt.Lastname.value = lastname;
}
身体部分的
<body onload="init()">
<form id="frmStartseiteMaster" name="Kontakt" runat="server" class="ym-form ym-full ym-form-login ie_display" autocomplete="off" data-alert="">
<input type="text" name="Firstname" id="Firstname" />
<input type="text" name="Lastname" id="Lastname" />
显示的错误是:
Uncaught TypeError: Cannot read property 'Firstname' of undefined
这个问题我已经考虑了一段时间了,不能再进一步了。我很感激你的帮助。最诚挚的问候,克里希
我会这样尝试:
> <html> <head> <meta charset="utf-8"> </head> <body>
>
> <form id="frmStartseiteMaster" name="Kontakt" runat="server"
> class="ym-form ym-full ym-form-login ie_display" autocomplete="off"
> data-alert="">
>
> <input type="text" name="Firstname" id="Firstname" /> <input
> type="text" name="Lastname" id="Lastname" />
>
> <script type="text/javascript"> function getUrlParameter(par) {
> var value = '';
> var UrlParameter = window.location.search; console.log("url: " + UrlParameter);
> if (UrlParameter != "") {
> var i = UrlParameter.indexOf(par + "=");
> if (i >= 0) {
> i = i + par.length + 1;
> var k = UrlParameter.indexOf("&", i);
> if (k < 0) {
> k = UrlParameter.length;
> }
> value = UrlParameter.substring(i, k);
> for (i = 0; i < value.length; i++) {
> if (value.charAt(i) == '+') {
> value = value.substring(0, i) + " " + value.substring(i + 1, value.length);
> }
> }
> value = unescape(value);
> }
> }
> else {
> document.write("error");
> }
> return value; }
>
> function init() {
> var firstname= getUrlParameter("firstname");
> document.getElementById("frmStartseiteMaster").Firstname.value = firstname;
>
> var lastname= getUrlParameter("lastname");
> document.getElementById("frmStartseiteMaster").Lastname.value = lastname; } window.onload=function() { init(); } </script> </body>
> </html>
玩得开心