我采购了以下代码,该代码成功地将URL从URL提取为表单输入:
function querystring(key) {
var re=new RegExp('(?:\\?|&)'+key+'=(.*?)(?=&|$)','gi');
var r=[], m;
while ((m=re.exec(document.location.search)) != null) r.push(m[1]);
return r;
escape;
}
$('#firstname').val(querystring('FirstName'));
$('#lastname').val(querystring('LastName'));
$('#emailaddress').val(querystring('EmailAddress'));
但是,当电子邮件地址被输入禁用的输入时,@显示为%40。该表格随着这种差异提交罚款,但从美学角度来看,可能会导致客户感到困惑。
我相信我可以使用encodeURIComponent()来确保@在输入中正确显示,但是我不知道如何将它插入到我现有的代码中。我理解Jquery的基础知识但是还不够先进以进行此更改。
非常感谢任何帮助。
答案 0 :(得分:0)
您必须使用decodeURIComponent(key);
解码URI组件
或者您应该将每个键与URI分开并单独解码。我认为您应首先解码您的URI,然后将其传递给queryString函数。