Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将变量写入输入字段_Javascript_Variables_Input Field - Fatal编程技术网

Javascript 将变量写入输入字段

Javascript 将变量写入输入字段,javascript,variables,input-field,Javascript,Variables,Input Field,我试图将输入字段的值设置为url中utm_参数的值 我在页面的头部有一段代码,用于提取参数值并设置字段值 <!-- Get UTM Parameters Code --> <script> // Parse the URL function getParameterByName(name) { name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); var regex = new RegE

我试图将输入字段的值设置为url中utm_参数的值

我在页面的头部有一段代码,用于提取参数值并设置字段值

   <!-- Get UTM Parameters Code -->
<script>
// Parse the URL
function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
// Give the URL parameters variable names
var source = getParameterByName('utm_source');
var medium = getParameterByName('utm_medium');
var campaign = getParameterByName('utm_campaign');

// Put the variable names into the hidden fields in the form.
document.getElementsByName("utm_source").value = source;
document.getElementsByName("utm_medium").value = medium;
document.getElementsByName("utm_campaign").value = campaign;
</script>
<!-- End Get UTM Parameters Code -->

//解析URL
函数getParameterByName(名称){
name=name.replace(/[\[]/,“\\[”)。replace(/[\]]/,“\\]”);
var regex=new RegExp(“[\\?&]”+name+“=([^&\]*)”,
results=regex.exec(location.search);
返回结果===null?”:decodeURIComponent(结果[1]。替换(/\+/g,”);
}
//给出URL参数变量名
var source=getParameterByName('utm_source');
var medium=getParameterByName('utm_medium');
var活动=getParameterByName('utm_活动');
//将变量名放入表单中的隐藏字段中。
document.getElementsByName(“utm_源”).value=source;
document.getElementsByName(“utm_medium”).value=medium;
document.getElementsByName(“utm_活动”)。值=活动;
这是页面正文中的代码

<form>
<input type="text" name="utm_source" id="utm_source" value="">
<input type="text" name="utm_medium" id="utm_medium" value="">
<input type="text" name="utm_campaign" id="utm_campaign" value="">
</form>

参数提取成功,但未设置为输入字段的值

代码有问题吗

试试下面的内容

document.getElementsByName("utm_source")[0].value = source;
document.getElementsByName("utm_medium")[0].value = medium;
document.getElementsByName("utm_campaign")[0].value = campaign;
document.getElementsByName()
返回一个节点列表对象,因此必须对其进行类似数组的处理。

好的,现在它可以工作了

我用了密码

document.getElementsByName("utm_source")[0].value = source;
document.getElementsByName("utm_medium")[0].value = medium;
document.getElementsByName("utm_campaign")[0].value = campaign; 
在收盘前把代码从标题移到右边


现在utm参数的值显示出来了

我不建议使用
document.write()完全正确。如果要测试/调试,请使用
console.log()
并打开浏览器控制台。也许这篇文章还可以帮助您理解
getElementsByName()
返回文档中所有元素的集合,并使用指定的名称-NodeList对象。
document.write()
不是您想象的那样。我将document.write()放在只是想看看参数提取是否成功,并解释您所做的更改?有些人希望了解为什么当前尝试无法运行,以及为什么
[0]
允许此功能运行。尝试了此操作,但无效。还有什么可能出错的吗?请确保您的脚本位于页面底部标记之前。尝试提醒(document.getElementsByName(“utm_source”).length)您得到任何提示了吗?