Javascript 从URL参数设置隐藏表单字段

Javascript 从URL参数设置隐藏表单字段,javascript,forms,parameters,infusionsoft,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_f

我试图通过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参数

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

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

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


函数getParameterByName(名称){
name=name.replace(/[\[]/,“\\[”)。replace(/[\]]/,“\\]”);
var regex=new RegExp(“[\\?&]”+name+“=([^&\]*)”,
results=regex.exec(location.search);
返回结果===null?120:decodeURIComponent(结果[1]。替换(/\+/g,”);
}

var LeadId=getParameterByName(“leadsource”);
jQuery(“.inpusion form input[name='inf\u field\u LeadSourceId']”)val(leadeid);

关于如何调整javascript以使用URL参数预先填充表单,有什么建议吗?

javascript不是URL参数的最佳选择。如果我正确理解了您的问题,那么您只需使用PHP将参数直接插入HTML字段(无需javascript)可能会非常理想

以下是我用来填充输液软隐藏字段值的解决方案


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

这是个好主意,但“$”会得到['leadsource']'自动从我的URL参数中提取值?一件事是我不能很容易地将一堆PHP代码注入到我的登录页软件中,但我可以添加一堆自定义JS-感谢您的时间!如果您的URL是,那么上述操作将导致您的输入值在页面提供给用户之前设置为123。另一件事是选项是在JavaScript代码中使用相同的PHP代码段,该代码段将替换getParameterByName()函数(但这仅在脚本内联时有效)。不幸的是,我使用的软件不允许我在其生成器中执行PHP代码:(-关于如何使用JS填充该字段的任何建议?这将有助于:
<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>
<input name="inf_field_LeadSourceId" type="hidden" value="<?php echo $_GET['leadsource']; ?>" />