如何从Webhook中获取数据并将其输入到Weebly Web表单的隐藏字段中?

时间:2019-08-17 23:45:53

标签: javascript html forms webhooks weebly

想象一下您收到我的报价了。它具有一个链接“在此处接受报价”。它将通过带有Webhook的表单将您链接到Weebly网页,该Webhook包含您的CRM联系人密钥(keyID)。

您输入的表格信息是您的全名,电子邮件地址,报价单,并且您需要在“我接受”框中选中服务条款。

我的问题是,如何使用自定义HTML代码段将Webhook数据(?keyID = z7fw8v8s9f9e8888etc)放入基本Weebly联系人表单的隐藏字段中?

最近,当我了解有关如何在Webhooks中检索信息的更多信息时,我一直在使用此脚本,所以我认为这可能会起作用:

<script>
function getKey(variable)
{
       var query = window.location.search.substring(1);
       var vars = query.split("&");
       for (var i=0;i<vars.length;i++) {
               var pair = vars[i].split("=");
               if(pair[0] == variable){return pair[1];}
       }
       return(false);
}

<input type="text" name="boxkey" value=getKey(keyID)>

</script>

或者这个...

<script>
function getKey(variable)
{
       var query = window.location.search.substring(1);
       var vars = query.split("&");
       for (var i=0;i<vars.length;i++) {
               var pair = vars[i].split("=");
               if(pair[0] == variable){return pair[1];}
       }
       return(false);
}
var gotKey = getKey(keyID);
</script>
<input type="text" name="boxkey" value=gotKey>

注意:我实际上要使用的类型是“隐藏”,但出于测试目的,我使用的是“文本”。

要提到的一点是,我真的不知道输入应该在脚本的内部还是外部。它似乎可以在脚本中运行,但是我似乎无法输入变量或调用函数作为输入值。我正在使用https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_form_submit测试代码,尽管我正在获取字段,但该值始终为“ getKey(key)”或“ boxKey”。永远不会是我在网络挂钩中发送的keyID的实际值(z7fw8v8s9f9e8888etc)。

无论如何我都不是编码员。我知道这是技术性的工作,但我真的很感谢您的帮助。请尝试像我5岁时那样解释它。我不会被冒犯。

我想在收件箱中提交一个基本上像这样的表单:

全名:John Doe
电子邮件地址:johns@email.com
引用编号:12345
boxKey:z7fw8v8s9f9e8888etc
我接受:是

在此先感谢您的帮助。非常感谢。

1 个答案:

答案 0 :(得分:0)

不可能在表单提交中检索“ boxKey” Custom HTML Element输入。它不会出现在“查看表单数据”条目或您收到的电子邮件中。仅标准的Weebly表单输入元素将出现在表单提交中。

现在,您可以添加一个标准的Weebly Form Input Element,用您的JavaScript预先填充它,并使用一些CSS或JavaScript来隐藏它吗..然后,您需要按ID或NAME定位输入(右键单击已发布的网站/输入框以获取正确的ID)

示例(假设当前页面的URL包含您的“?keyID = z7fw8v8s9f9e8888etc”字符串):

<input type="text" id="input-4231620111018824" name="_u4231620111018824[number]">
<script>
function getKey(variable) {
       var query = window.location.search.substring(1);
       var vars = query.split("&");
       for (var i=0;i<vars.length;i++) {
            var pair = vars[i].split("=");
            if(pair[0] == variable){return pair[1];}
       }
       return(false);
}
var gotKey = getKey('keyID');
document.getElementById("input-4231620111018824").value = gotKey;
document.getElementById("input-4231620111018824").attributes["type"].value = "hidden"; // Optional to change the input type
</script>

注意:必须在输入下方添加脚本。如果要隐藏输入,则在加载输入之前,可能需要使用CSS 上方表单。

编辑:然后,您还希望使用CSS隐藏标签(字段标题)。

<style>
#input-4231620111018824 {
   display: none;
}
label.wsite-form-label[for="input-4231620111018824"] {
   display: none;
}
</style>