繁体   English   中英

使用jQuery设置隐藏的表单字段值

[英]setting hidden form field values with jquery

读取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的自定义字段名称

谢谢你的帮助。

看来您在每个选择器中都缺少右括号。 我要说的是它无法将值插入输入字段的原因。

另外,在将这些值插入输入字段之前,请确保已收集并存储了这些值。

尝试在函数getParameterByName()上方声明所有变量,并在函数内加载变量及其值,然后立即设置cookie,并在完成变量的加载后立即添加jQuery函数,简单的$(function(){ })。

我想问题是,当您的$(document).ready()函数在页面加载时执行且没有值要加载时,会发生问题。

 <script> var visitor_id; var medium; var source; var campaign; var content; var term; var count_of_sessions; var count_of_page_views; // 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 visitor_id = getParameterByName('utm_visitor_id'); medium = getParameterByName('utm_medium'); source = getParameterByName('utm_source'); campaign = getParameterByName('utm_campaign'); content = getParameterByName('utm_content'); term = getParameterByName('utm_term'); count_of_sessions = getParameterByName('utm_count_of_sessions'); 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 $(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> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM