Javascript 提交表单时从localstorage注入值
我试图将UTM值保存在localstorage中,并在提交表单时发送它们。 我这样做是为了保存UTM数据,如果用户将从另一个页面提交表单。 我希望将UTM值发送到我的客户机。所有表单都包含保存值的隐藏字段 请看一下我的代码给我一些建议。提前欣赏Javascript 提交表单时从localstorage注入值,javascript,Javascript,我试图将UTM值保存在localstorage中,并在提交表单时发送它们。 我这样做是为了保存UTM数据,如果用户将从另一个页面提交表单。 我希望将UTM值发送到我的客户机。所有表单都包含保存值的隐藏字段 请看一下我的代码给我一些建议。提前欣赏 <script type="text/javascript"> // determine if data should be cleared after submission var clearData = false;
<script type="text/javascript">
// determine if data should be cleared after submission
var clearData = false;
// function to grab utm url parameters
function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}
// Get hidden utm fields
var utm_source_field = document.querySelectorAll('input#form-field-utm_source');
for (i = 0; i < utm_source_field.length; i++) {
if (utm_source_field)
utm_source_field[i].value = localStorage.getItem("source");
}
var utm_medium_field = document.querySelectorAll('input#form-field-utm_medium');
for (i = 0; i < utm_medium_field.length; i++) {
if (utm_medium_field)
utm_medium_field[i].value = localStorage.getItem("utm_medium");
}
var utm_campaign_field = document.querySelectorAll('input#form-field-utm_campaign');
for (i = 0; i < utm_campaign_field.length; i++) {
if (utm_campaign_field)
utm_campaign_field[i].value = localStorage.getItem("utm_campaign");
}
var utm_term_field = document.querySelectorAll('input#form-field-utm_term');
for (i = 0; i < utm_term_field.length; i++) {
if (utm_term_field)
utm_term_field[i].value = localStorage.getItem("utm_term");
}
var utm_content_field = document.querySelectorAll('input#form-field-utm_content');
for (i = 0; i < utm_content_field.length; i++) {
if (utm_content_field)
utm_content_field[i].value = localStorage.getItem("utm_content");
}
var utm_adset = document.querySelectorAll('input#form-field-utm_adset');
for (i = 0; i < utm_adset.length; i++) {
if (utm_adset)
utm_adset[i].value = localStorage.getItem("utm_adset");
}
var placement = document.querySelectorAll('input#form-field-placement');
for (i = 0; i < placement.length; i++) {
if (placement)
placement[i].value = localStorage.getItem("placement");
}
var device = document.querySelectorAll('input#form-field-device');
for (i = 0; i < device.length; i++) {
if (device)
device[i].value = localStorage.getItem("device");
}
var AdPos = document.querySelectorAll('input#form-field-AdPos');
for (i = 0; i < AdPos.length; i++) {
if (AdPos)
AdPos[i].value = localStorage.getItem("AdPos");
}
var GeoLoc = document.querySelectorAll('input#form-field-GeoLoc');
for (i = 0; i < GeoLoc.length; i++) {
if (GeoLoc)
GeoLoc[i].value = localStorage.getItem("GeoLoc");
}
var matchtype = document.querySelectorAll('input#form-field-matchtype');
for (i = 0; i < matchtype.length; i++) {
if (matchtype)
matchtype[i].value = localStorage.getItem("matchtype");
}
var network = document.querySelectorAll('input#form-field-network');
for (i = 0; i < network.length; i++) {
if (network)
network[i].value = localStorage.getItem("network");
}
var gclid = document.querySelectorAll('input#form-field-gclid');
for (i = 0; i < gclid.length; i++) {
if (gclid)
gclid[i].value = localStorage.getItem("gclid");
}
var fbclid = document.querySelectorAll('input#form-field-fbclid');
for (i = 0; i < fbclid.length; i++) {
if (fbclid)
fbclid[i].value = localStorage.getItem("fbclid");
}
// check if localStorage is defined
if(typeof(Storage) !== "undefined") {
// check if localStorage utm_parameters are null, parse parameter from url and set as localStorage item
if (localStorage.getItem('utm_source') === null) {
if (getQueryVariable("utm_source")){
localStorage.setItem("utm_source", getQueryVariable("utm_source"));
}
}else {
utm_source_field.setAttribute("value", localStorage.getItem("utm_source"))
}
if (localStorage.getItem('utm_medium') === null) {
if (getQueryVariable("utm_medium")){
localStorage.setItem("utm_medium", getQueryVariable("utm_medium"));
}
}else {
utm_medium_field.setAttribute("value", localStorage.getItem("utm_medium"))
}
if (localStorage.getItem('utm_campaign') === null) {
if (getQueryVariable("utm_campaign")){
localStorage.setItem("utm_campaign", getQueryVariable("utm_campaign"));
}
}else {
utm_campaign_field.setAttribute("value", localStorage.getItem("utm_campaign"))
}
if (localStorage.getItem('utm_term') === null) {
if (getQueryVariable("utm_term")){
localStorage.setItem("utm_term", getQueryVariable("utm_term"));
}
}else {
utm_term_field.setAttribute("value", localStorage.getItem("utm_term"))
}
if (localStorage.getItem('utm_content') === null) {
if (getQueryVariable("utm_content")){
localStorage.setItem("utm_content", getQueryVariable("utm_content"));
}
}else {
utm_content_field.setAttribute("value", localStorage.getItem("utm_content"))
}
if (localStorage.getItem('utm_adset') === null) {
if (getQueryVariable("utm_adset")){
localStorage.setItem("utm_adset", getQueryVariable("utm_adset"));
}
}else {
utm_adset_field.setAttribute("value", localStorage.getItem("utm_adset"))
}
if (localStorage.getItem('placement') === null) {
if (getQueryVariable("placement")){
localStorage.setItem("placement", getQueryVariable("placement"));
}
}else {
placement.setAttribute("value", localStorage.getItem("placement"))
}
if (localStorage.getItem('device') === null) {
if (getQueryVariable("device")){
localStorage.setItem("device", getQueryVariable("device"));
}
}else {
device.setAttribute("value", localStorage.getItem("device"))
}
if (localStorage.getItem('AdPos') === null) {
if (getQueryVariable("AdPos")){
localStorage.setItem("AdPos", getQueryVariable("AdPos"));
}
}else {
AdPos.setAttribute("value", localStorage.getItem("AdPos"))
}
if (localStorage.getItem('GeoLoc') === null) {
if (getQueryVariable("GeoLoc")){
localStorage.setItem("GeoLoc", getQueryVariable("GeoLoc"));
}
}else {
GeoLoc.setAttribute("value", localStorage.getItem("GeoLoc"))
}
if (localStorage.getItem('matchtype') === null) {
if (getQueryVariable("matchtype")){
localStorage.setItem("matchtype", getQueryVariable("matchtype"));
}
}else {
matchtype.setAttribute("value", localStorage.getItem("matchtype"))
}
if (localStorage.getItem('network') === null) {
if (getQueryVariable("network")){
localStorage.setItem("network", getQueryVariable("network"));
}
}else {
network.setAttribute("value", localStorage.getItem("network"))
}
if (localStorage.getItem('gclid') === null) {
if (getQueryVariable("gclid")){
localStorage.setItem("gclid", getQueryVariable("gclid"));
}
}else {
gclid.setAttribute("value", localStorage.getItem("gclid"))
}
if (localStorage.getItem('fbclid') === null) {
if (getQueryVariable("fbclid")){
localStorage.setItem("fbclid", getQueryVariable("fbclid"));
}
}else {
fbclid.setAttribute("value", localStorage.getItem("fbclid"))
}
// clear localStorage if clearData is set to true
if (clearData){
jQuery( document ).ready(function( $ ){
$( document ).on('submit_success', function(){
localStorage.clear();
});
});
}
}
else {
// Sorry! No Web Storage support..
}
</script>
//确定提交后是否应清除数据
var clearData=false;
//函数获取utm url参数
函数getQueryVariable(变量)
{
var query=window.location.search.substring(1);
var vars=query.split(&);
对于(var i=0;i