Javascript 提交表单时从localstorage注入值

Javascript 提交表单时从localstorage注入值,javascript,Javascript,我试图将UTM值保存在localstorage中,并在提交表单时发送它们。 我这样做是为了保存UTM数据,如果用户将从另一个页面提交表单。 我希望将UTM值发送到我的客户机。所有表单都包含保存值的隐藏字段 请看一下我的代码给我一些建议。提前欣赏 <script type="text/javascript"> // determine if data should be cleared after submission var clearData = false;

我试图将UTM值保存在localstorage中,并在提交表单时发送它们。 我这样做是为了保存UTM数据,如果用户将从另一个页面提交表单。 我希望将UTM值发送到我的客户机。所有表单都包含保存值的隐藏字段

请看一下我的代码给我一些建议。提前欣赏

<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