JSFiddle - React, Tailwind, and code Playground

by ibroom

HTML

<input name="utm_source" />
<input name="utm_medium" />
<input name="utm_campaign" />
<input name="utm_term" />
<input name="utm_content" />

JavaScript

// 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');
var term = getParameterByName('utm_term');
var content = getParameterByName('utm_content');

//create the cookie
var d = new Date();
var cname = "GA-Data";
var cvalue = "Date:"+d.toISOString()+",Source:"+source+",Medium:"+medium+",Campaign:"+campaign+",Term:"+term+",Content:"+content;
d.setTime(d.getTime() + (365*24*60*60*1000));
var expires = "expires="+ d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires;
 
// Grab the cookie value and set the form field values
$(document).ready(function(){

  var cookie_data = ""
  var name = "GA-Data=";
  var ca = document.cookie.split(';');
  for(var i = 0; i <ca.length; i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') {
      c = c.substring(1);
    }
    if (c.indexOf(name) == 0) {
      cookie_data = c.substring(name.length,c.length);
    }
  }
  alert(cookie_data);

	$('input[name=utm_source').val(source);
	$('input[name=utm_medium').val(medium);
	$('input[name=utm_campaign').val(campaign);
  $('input[name=utm_term').val(term);
  $('input[name=utm_content').val(content);
});