【问题标题】:Set hidden form field from URL paramater从 URL 参数设置隐藏的表单字段
【发布时间】:2018-08-06 18:46:24
【问题描述】:

我正在尝试通过 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 参数预填充表单的任何建议?

【问题讨论】:

    标签: javascript forms parameters infusionsoft


    【解决方案1】:

    JavaScript 不是最好的 URL 参数。如果我正确理解了您的问题,那么您最好使用 PHP 将参数直接注入 HTML 字段(不需要 JavaScript)。

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

    【讨论】:

    • 这是个好主意,但 '$_GET['leadsource']' 会自动从我的 URL 参数中提取值吗?有一件事是我不能很容易地将一堆 PHP 代码注入到我的登陆页面软件中,但我可以添加一堆自定义 JS - 感谢您的时间!
    • 如果您的 URL 是 website.com/page?leadsource=123 ,那么在将页面提供给用户之前,上述内容将导致您的输入值设置为 123。另一种选择是在您的 JavaScript 代码中使用相同的 PHP sn-p,它将替换您的 getParameterByName() 函数(但这仅在您的脚本被内联时才有效)。
    • 不幸的是,我使用的软件不允许我在他们的构建器中执行 PHP 代码 :( - 关于如何用 JS 填充该字段的任何建议?
    • 这应该会有所帮助:stackoverflow.com/questions/979975/…
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-04
      • 1970-01-01
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多