如何在提交表单时将查询字符串附加到URL?

时间:2012-01-04 16:52:50

标签: html forms mailchimp

好的,所以我在客户网站上有2个表单(网站是用wordpress构建的)。

客户正在使用Mail Chimp进行电子邮件营销,并在Mail Chimp中设置了两个表单来捕获用户数据并将其订阅到两个不同的列表。

我在网站上有2个部分,这些表格的迷你版本 - 他在邮件黑猩猩中所做的表格要大得多,需要分配更多详细信息,我在网站上只有姓名,电话,电子邮件。

我已经阅读了一篇关于邮件黑猩猩博客的文章,该文章讨论了如何通过在网址的末尾添加相关查询来自动填写页面加载表单上的某些字段,例如 http:/ FORMADRESS& MERGE1 = Jack - 这会预先填写表单上名为Jack的“名字”框。

((http://blog.mailchimp.com/how-to-pre-fill-items-on-your-mailchimp-hosted-form /))

如何将这些查询字符串添加到URL的末尾,以便从大型邮件黑猩猩表单上的网站上的迷你表单预先填充3个字段?

任何人都知道的任何替代解决方案也将不胜感激。

亲切的问候,

4 个答案:

答案 0 :(得分:10)

如果我理解正确的话,表格应该可以解决问题:

<form action="http://echo.iambroken.com/" method="get">
    <input name="one">
    <input name="two">
    <input type="submit">
</form>

请注意,如果action网址上已有查询字符串,则会替换它 - 所以如果网址上还有其他参数,请将其作为隐藏输入包含在内,如下所示:< / p>

<input type="hidden" name="q" value="123">

答案 1 :(得分:1)

您可以使用简单追加查询将隐藏变量附加到表单 在这里,您可以在javacript中执行以下操作。

Var hiddenVar="<input type="hidden" name="q" value="123">"
$('form').append(hiddenVar)

您可以在行动中获得此值请求参数。

答案 2 :(得分:0)

你得到三个字段的迷你形式,并将它们作为隐藏字段推送到其他形式。然后当使用提交它们时,隐藏字段也是表单的一部分,并将被添加到URL。

答案 3 :(得分:0)

使用JQuery,您可以在加载表单时修改action属性。在下面的示例中,我仅过滤出需要与表单一起提交的QueryString参数,并将其应用于操作。

$(function(){
    var urlParams = new URLSearchParams(location.search);
    var id = urlParams.get('id');
    var codeid = urlParams.get('codeid');
    var params = "?id=" + id + "&codeid=" + codeid;
    $("form").attr("action", location.pathname + params);
});