我正在使用JavaScript创建一个发布utm_source值=“”的cookie。
在控制台上,我看到了utm_source值,但没有在表单
上看到
// 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');
// Set the cookies
if(Cookies.set('utm_source') == null || Cookies.set('utm_source') == "") {
Cookies.set('utm_source', source);
}
// Grab the cookie value and set the form field values
$(document).ready(function(){
$('input[name=utm_source').val(utm_source);
});
</script>
答案 0 :(得分:0)
问题1
$('input[name=utm_source').val(utm_source);
上述问题导致问题有两个原因:
utm_source
未定义(在您发布的代码段中) 如果您想使用cookie值,您应该这样做:
$('input[name=utm_source]').val(Cookies.get('utm_source'));
问题2
在这一行:
if(Cookies.set('utm_source') == null || Cookies.set('utm_source') == "") {
我认为您错误地使用了.set()
而不是.get()
,并且可以将其简化为:
if(!Cookies.get('utm_source')) {
这可行,因为null
和""
都是假值。
答案 1 :(得分:0)
谢谢你们!搞定了!不得不替换name = customID