【问题标题】:Passing URL Variables Into FormAssembly Form Field将 URL 变量传递到 FormAssembly 表单字段
【发布时间】:2020-03-29 11:52:04
【问题描述】:

有没有人专门使用 FormAssembly 将 URL 变量传递到表单字段(理想情况下是隐藏类型)?该 URL 包含我希望在提交表单时包含的营销数据。我已经能够使用下面的代码解析 URL 参数值并将它们存储在会话存储中。例如,我的 URL 可能是“www.domain.com/?utm_source=sourceval&utm_medium=mediumval”。在检查页面时,我看到“utm_source:sourceval”的 [key:value]。我遇到问题的地方是获取该键:值并填充表单字段值。有一个类似的(ish)主题How to put the variable field names into the hidden fields on a FormAssembly form,但我不太明白。我是相当新的,所以不仅对提议的脚本有任何帮助,而且将它们放在哪里(在网站上,在标题中......或......在 HTML 表单中......)都是有帮助的。我一直在尝试解决这个问题。

<script>
var queryForm = function(settings){
  var reset = settings && settings.reset ? settings.reset : false;
  var self = window.location.toString();
  var querystring = self.split("?");
  if (querystring.length > 1) {
    var pairs = querystring[1].split("&");
    for (i in pairs) {
      var keyval = pairs[i].split("=");
      if (reset || sessionStorage.getItem(keyval[0]) === null) {
        sessionStorage.setItem(keyval[0], keyval[1]);
      }
    }
  }
  var hiddenFields = document.querySelectorAll("input[type=hidden]");
  for (var i=0; i<hiddenFields.length; i++) {
    var param = sessionStorage.getItem(hiddenFields[i].name);
    if (param) document.getElementById(hiddenFields[i].name).value = param;
  }
}
queryForm();
</script> 


【问题讨论】:

  • 还可以查看此线程 link 以获得更多见解。
  • 你有没有想过这个问题?我正在尝试做同样的事情。
  • 是的,我找到了一种方法来完成这项工作。我在下面给出了答案。

标签: javascript forms url


【解决方案1】:

我必须先声明,无论如何我都不是开发人员。我只是碰巧找到了对我有用的东西。如果您是开发人员并且可以更好地完成此任务,请做出贡献。 Codepen.io 对故障排除非常有帮助。

在我的表单中,我嵌入了以下内容。它被放置在隐藏字段下方但在提交按钮上方。

  • “tfa”值必须与您的特定表单 tfa 值匹配。
  • “var”值将是会话存储中已解析的 URL 数据名称。
<script>
    document.getElementById("tfa_1").value = sessionStorage.getItem('var1');
    document.getElementById("tfa_2").value = sessionStorage.getItem('var2'); 
    document.getElementById("tfa_3").value = sessionStorage.getItem('var3'); 
    document.getElementById("tfa_4").value = sessionStorage.getItem('var4'); 
    document.getElementById("tfa_5").value = sessionStorage.getItem('var5'); 
    document.getElementById("tfa_6").value = sessionStorage.getItem('var6'); 
    document.getElementById("tfa_7").value = sessionStorage.getItem('var7');
</script>

【讨论】:

    猜你喜欢
    • 2013-07-08
    • 2019-12-26
    • 1970-01-01
    • 1970-01-01
    • 2014-01-22
    • 1970-01-01
    • 1970-01-01
    • 2017-12-13
    • 2011-11-03
    相关资源
    最近更新 更多