将encodeURIComponent()插入现有的Jquery

时间:2018-03-06 09:11:50

标签: javascript jquery

我采购了以下代码,该代码成功地将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的基础知识但是还不够先进以进行此更改。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您必须使用decodeURIComponent(key);解码URI组件 或者您应该将每个键与URI分开并单独解码。我认为您应首先解码您的URI,然后将其传递给queryString函数。