【发布时间】:2021-11-20 15:03:24
【问题描述】:
我有以下脚本,它应该从 URL 查询字符串中获取参数,将它们放入数组中,然后将值放入文本字段中。
<script type="text/javascript">
function getUtms(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
var utmArray = ['utm_campaign','utm_medium','utm_source'];
for (var i = 0; i < utmArray.length; i++) {
console.log(utmArray[i]);
document.querySelector("p." + utmArray[i] + " input").value = getUtms(utmArray[i]);
}
</script>
<input type="text" name="utm_campaign">
<input type="text" name="utm_medium">
<input type="text" name="utm_source">
但是我收到以下错误
未捕获的 TypeError:无法设置 null 的属性(设置“值”)
与线路有关
document.querySelector("p." + utmArray[i] + " input").value = getUtms(utmArray[i]);
提前致谢!
【问题讨论】:
-
您正在查询段落
p.但我在您的 html 中看不到任何内容
标签: javascript arrays for-loop