将变量写入输入字段

时间:2017-01-26 12:47:52

标签: javascript variables input-field

我正在尝试将输入字段的值设置为来自网址的utm_parameter的值

我在页面的头部有这个代码来提取参数的值并设置字段的值

   <!-- 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 -->

这是页面正文中的代码。

<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>

参数得到提取成功,但它们未设置为输入字段的值。

代码有问题吗?

2 个答案:

答案 0 :(得分:0)

尝试以下

document.getElementsByName("utm_source")[0].value = source;
document.getElementsByName("utm_medium")[0].value = medium;
document.getElementsByName("utm_campaign")[0].value = campaign;

document.getElementsByName()返回一个节点列表对象,因此你必须给它一个类似于数组的处理。 的 Reference

答案 1 :(得分:0)

好的,现在它可以了。

我使用了代码

test <- 1:100

library(openssl )
md5(serialize(test, connection = NULL))
# returns: md5 23:a8:b3:40:9e:08:a0:3d:30:6e:3d:3d:cb:fe:21:57 

并在结束前将该代码从标题移到右侧。

现在,utm参数的值显示