通过网址参数设置隐藏的表单字段

时间:2018-08-06 18:46:25

标签: javascript forms parameters infusionsoft

我正在尝试通过URL参数设置表单中隐藏字段的值。

这是表格:

<form accept-charset="UTF-8" action="/thanks" class="infusion-form" method="POST">
    <input name="inf_field_LeadSourceId" type="hidden" value="null" />
        <input class="infusion-field-input" id="inf_field_FirstName" name="inf_field_FirstName" placeholder="First Name *" type="text" required/>
        <input class="infusion-field-input" id="inf_field_Email" name="inf_field_Email" placeholder="Email *" type="text" required/>
    <div class="infusion-submit">
        <button class="infusion-recaptcha" type="submit">Submit</button>
    </div>
</form>

我需要设置此字段的值,具体来说:

<input name="inf_field_LeadSourceId" type="hidden" value="null" />

带有url参数。

理想情况下,我希望它像这样:

https://website.com/page?leadsource=123

因此它将设置该字段的值为“ 123”

我尝试使用下面的javascript代码执行此操作,但没有运气:(

<script>
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
    results = regex.exec(location.search);
return results === null ? 120 : decodeURIComponent(results[1].replace(/\+/g, " "));

}

var LeadId = getParameterByName("leadsource");
jQuery(".infusion-form input[name='inf_field_LeadSourceId']").val(LeadId);
</script>

关于如何调整JavaScript以使用URL参数预填充表单的任何建议?

2 个答案:

答案 0 :(得分:0)

JavaScript不是使用URL参数的最佳选择。如果我正确地理解了您的问题,那么将PHP直接插入参数到HTML字段中(不要求使用JavaScript)可能是理想的选择。

<input name="inf_field_LeadSourceId" type="hidden" value="<?php echo $_GET['leadsource']; ?>" />

答案 1 :(得分:0)

这是我用来填充Infusionsoft隐藏字段值的解决方案所基于的javascript

也可能还会尝试调试JavaScript流,以查看您是否在正确捕获和解析值(例如,添加conlose.log(var)行)。