Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Click漏斗中提交表单后如何传递参数?_Javascript - Fatal编程技术网

Javascript 在Click漏斗中提交表单后如何传递参数?

Javascript 在Click漏斗中提交表单后如何传递参数?,javascript,Javascript,我试图跟踪不同流量来源的销售情况。我有多个流量源向我的Click漏斗登录页发送点击。我已将utm_术语参数附加到来自不同流量源的链接 因此,utm_term参数现在位于登录页(我的漏斗的第一页),但在我选择并提交表单移动到第二页后,该参数就消失了 我如何将参数存储在某个地方并将其沿漏斗向下传递(第2、第3、第4和第5页) 最后,我需要将该参数传递到第2页的按钮href中 -- 编辑:我正在使用此脚本从将utm_术语插入按钮: <script type="text/javascript" s

我试图跟踪不同流量来源的销售情况。我有多个流量源向我的Click漏斗登录页发送点击。我已将utm_术语参数附加到来自不同流量源的链接

因此,utm_term参数现在位于登录页(我的漏斗的第一页),但在我选择并提交表单移动到第二页后,该参数就消失了

我如何将参数存储在某个地方并将其沿漏斗向下传递(第2、第3、第4和第5页)

最后,我需要将该参数传递到第2页的按钮href中

--

编辑:我正在使用此脚本从将utm_术语插入按钮:

<script type="text/javascript" src="https://cdn.rawgit.com/devQuickie/queryparams-to-a/f702ad7c/script.js"></script>

但我需要了解如何捕获参数并在提交表单后传递它

或者,我认为它可以工作,但它似乎不适用于Click漏斗中的“按钮操作”:

<script>
function getParameterByName(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));
}
var newParam = getParameterByName('parameter')
var nextURL3 = ('https://www.yourdomain.com/pagepath\?parameter\=' + newParam);
</script>

函数getParameterByName(名称、url){
如果(!url)url=window.location.href;
name=name.replace(/[\[\]]/g,\\$&);
var regex=new RegExp(“[?&]”+name+”(=([^&#]*)和|#|$),
结果=regex.exec(url);
如果(!results)返回null;
如果(!results[2])返回“”;
返回组件(结果[2]。替换(/\+/g,”);
}
var newParam=getParameterByName('参数')
变量nextURL3=('https://www.yourdomain.com/pagepath\?参数\='+newParam);
按钮代码:

<div class="de elBTN elAlign_center elMargin0 ui-droppable de-editable" id="tmp_button-86409" data-de-type="button" data-de-editing="false" data-title="button" data-ce="false" data-trigger="none" data-animate="fade" data-delay="500" style="margin-top: 30px; outline: none; cursor: pointer; display: block;" aria-disabled="false" data-elbuttontype="1">
<a onclick="location.href=nextURL3;" class="elButton elButtonSize1 elButtonColor1 elButtonRounded elButtonPadding2 elBtnVP_10 elButtonCorner3 elBtnHP_25 elBTN_b_1 elButtonShadowN1 elButtonTxtColor1 elButtonFull" style="color: rgb(255, 255, 255); font-weight: 600; background-color: rgb(1, 116, 199); font-size: 26px;">
<span class="elButtonMain"><i class="fa_prepended fa fa-angle-double-right"></i>Button Text Goes Here<i class="fa_appended fa fa-angle-double-left"></i></span>
<span class="elButtonSub"></span>
</a>
</div>

你很接近了。最好是在呈现页面时在服务器上添加参数,但是如果您只有JavaScript,那么这里有一种解决问题的方法

  • 给按钮一个ID:


    代码,否则就永远不会发生。@Dementic编辑并添加了更多代码和说明。感谢您的时间和努力。请查看Click漏斗文件,我想他们已经提到了这一点。当我使用funnelflux和Voluum时,他们清楚地提到了这一点@JeffI似乎在它的文档中找不到任何东西..你让它工作了吗?你能简单地解释一下这段代码的作用吗?使用Click漏斗,在表单中提交电子邮件选项时,按钮操作设置为“提交表单”,但我可以抓取按钮ID并将其分为javascript。(请参阅:)
    // parse the current page search params
    const pageSearchParams = new URLSearchParams(window.location.search)
    // find the button on the page
    const button = document.querySelector('#trackme')
    // parse the url from the button
    const href = new URL(button.href)
    // parse the search params from the url
    const buttonSearchParams = new URLSearchParams(href.search)
    // set the search param you want from the page
    buttonSearchParams.set("utm_term", pageSearchParams.get("utm_term"))
    // update the search for the url
    href.search = buttonSearchParams.toString()
    // update the button url
    button.href = href.toString()