【发布时间】:2017-10-26 04:44:25
【问题描述】:
我在读取 URL 参数后使用 js.cookie.js 设置 cookie 值。接下来,我想用 cookie 值填充一些隐藏字段。读取 URL 值和设置 cookie 有效,但在隐藏字段中设置值无效。
这是脚本:
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script src="http://example.com/scripts/js.cookie.js" type="text/javascript"></script>
<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 visitor_id = getParameterByName('utm_visitor_id');
var medium = getParameterByName('utm_medium');
var source = getParameterByName('utm_source');
var campaign = getParameterByName('utm_campaign');
var content = getParameterByName('utm_content');
var term = getParameterByName('utm_term');
var count_of_sessions = getParameterByName('utm_count_of_sessions');
var count_of_page_views = getParameterByName('utm_count_of_page_views');
// Set the cookies
Cookies.set('utm_visitor_id', visitor_id, { expires: 90 });
Cookies.set('utm_medium', medium, { expires: 90 });
Cookies.set('utm_source', source, { expires: 90 });
Cookies.set('utm_campaign', campaign, { expires: 90 });
Cookies.set('utm_content', content, { expires: 90 });
Cookies.set('utm_term', term, { expires: 90 });
Cookies.set('utm_count_of_sessions', count_of_sessions, { expires: 90 });
Cookies.set('utm_count_of_page_views', count_of_page_views, { expires: 90 });
// Grab the cookie value and set the form field values
$(document).ready(function(){
$('input[name=00N4100000NglQ2').val(utm_visitor_id);
$('input[name=00N4100000NgleO').val(utm_medium);
$('input[name=00N4100000NglpC').val(utm_source);
$('input[name=00N4100000NglyY').val(utm_campaign);
$('input[name=00N4100000NgmBh').val(utm_content);
$('input[name=00N4100000NgmIs').val(utm_term);
$('input[name=00N4100000NgmQw').val(utm_count_of_sessions);
$('input[name=00N4100000NgmZ5').val(utm_count_of_page_views);
});
</script>
这是表单中的隐藏字段,id="contact-form"
<!-- Visitor ID: -->
<input id="00N4100000NglQ2" maxlength="255" name="00N4100000NglQ2" size="20" type="hidden" value="" />
<!-- Medium: -->
<input id="00N4100000NgleO" maxlength="255" name="00N4100000NgleO" size="20" type="hidden" value="" />
<!-- Source: -->
<input id="00N4100000NglpC" maxlength="255" name="00N4100000NglpC" size="20" type="hidden" value="" />
<!-- Campaign: -->
<input id="00N4100000NglyY" maxlength="255" name="00N4100000NglyY" size="20" type="hidden" value="" />
<!-- Content: -->
<input id="00N4100000NgmBh" maxlength="255" name="00N4100000NgmBh" size="20" type="hidden" value="" />
<!-- Term: -->
<input id="00N4100000NgmIs" maxlength="255" name="00N4100000NgmIs" size="20" type="hidden" value="" />
<!-- Count of Sessions: -->
<input id="00N4100000NgmQw" maxlength="255" name="00N4100000NgmQw" size="20" type="hidden" value="" />
<!-- Count of Pageviews: -->
<input id="00N4100000NgmZ5" maxlength="255" name="00N4100000NgmZ5" size="20" type="hidden" value="" />
我想知道隐藏字段名称是否有问题,例如,00N4100000NgmZ5,它们是来自 salesforce.com 的自定义字段名称
感谢您的帮助。
【问题讨论】:
-
“不工作”是什么意思?
-
在此评论之后没有没有获取 cookie 值:
// Grab the cookie value and set the form field values。你研究过如何获取 cookie 吗?此外,您似乎没有在任何地方检查 cookie 是否存在。此外,您正在引用尚未设置的变量名称。请检查您的控制台是否有任何红色并先修复它们。
标签: javascript jquery