【问题标题】:Parse from referrer URL从引荐来源网址解析
【发布时间】:2020-08-24 00:36:13
【问题描述】:

我有以下 URL,它重定向到我在 Form Assembly 上的表单。我正在尝试在提交之前预先填写隐藏字段,以便客户不必填写两次。

state=CA&period=PERIOD_FIXED_30YEARS&loan=200000&ltv=80&transaction=54&property_type=34&fico=740&occupancy=49&cashout=0&rate=4.125&fees=510&points=0.204&trackingID=1445830871741638005

我的代码如下。我在控制台中没有收到任何错误。

需要注意的几点: 1. 表单是预构建的 HTML 并且已经在使用隐藏输入 2.我需要填写的隐藏字段有一个ID = tfa_XX

<script type="text/javascript">

// Parsing 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, " "));
}

//Gathering the URL Parameters
var period = getParameterByName('period');
var loan = getParameterByName('loan');
var ltv = getParameterByName('ltv');
var transaction = getParameterByName('transaction');
var property_type = getParameterByName('property_type');
var fico = getParameterByName('fico');
var occupancy = getParameterByName('occupancy');
var cashout = getParameterByName('cashout');
var rate = getParameterByName('rate');
var fees = getParameterByName('fees');
var points = getParameterByName('points');
var trackingID = getParameterByName('trackingID');


function autoFill() {
//function to autoFill form
document.getElementById("tfa_49").value = period;
document.getElementById("tfa_50").value = loan;
}

</script>

感谢您的帮助!

【问题讨论】:

    标签: javascript html forms url parameters


    【解决方案1】:

    我可以使用以下内容在 Form Assembly 中执行此操作。然后我导出了完整的 HTML 并将其放置在 AEM 中。

    <script type="text/javascript">
    
    
    //Used to pull URL
      
    const link = window.location.href;
    const url = new URL(link);
    
    
    //Function to get the URL parameters
    function getParameterByName(name) {
      return url.searchParams.get(name);
    }
    
    //Gathering the URL Parameters and writing to console to check if parse is accurate -- Note the console.log can be removed if needed
    var period = getParameterByName('period');
    console.log(period);
    
    var loan = getParameterByName('loan');
    console.log(loan);
    
    var ltv = getParameterByName('ltv');
    console.log(ltv);
    
    var transaction = getParameterByName('transaction');
    console.log(transaction);
    
    var property_type = getParameterByName('property_type');
    console.log(property_type);
    
    var fico = getParameterByName('fico');
    console.log(fico);
    
    var occupancy = getParameterByName('occupancy');
    console.log(occupancy);
    
    var cashout = getParameterByName('cashout');
    console.log(cashout);
    
    var rate = getParameterByName('rate');
    console.log(rate);
    
    var fees = getParameterByName('fees');
    console.log(fees);
    
    var points = getParameterByName('points');
    console.log(points);
    
    var trackingID = getParameterByName('trackingID');
    console.log(trackingID);
    
    
    
    
    //On load function to prefill the forms hidden fields
    $( document ).ready(function() {
      document.getElementById("tfa_49").value = period;
      document.getElementById("tfa_50").value = loan;
      document.getElementById("tfa_51").value = ltv;
      document.getElementById("tfa_53").value = transaction;
      document.getElementById("tfa_54").value = property_type;
      document.getElementById("tfa_55").value = fico;
      document.getElementById("tfa_56").value = occupancy;
      document.getElementById("tfa_57").value = cashout;
      document.getElementById("tfa_58").value = rate;
      document.getElementById("tfa_59").value = fees;
      document.getElementById("tfa_60").value = points;
      document.getElementById("tfa_61").value = trackingID;
    });
    
    
    </script>

    【讨论】:

      猜你喜欢
      • 2011-07-15
      • 2015-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多