【问题标题】:mixpanel and asp.net buttons混合面板和 asp.net 按钮
【发布时间】:2014-08-14 15:49:27
【问题描述】:

我必须在一个不错的旧 asp.net 页面上添加一些混合面板跟踪,它正在变成一场噩梦。我有这个按钮:

<asp:Button ID="idConfirmAndSubmitButton" name="confirmAndSubmitButton" Text="Confirm and Submit" OnClick="SaveAndPublishClick" runat="server" />

在 .cs 文件上有这个代码:

idConfirmAndSubmitButton.OnClientClick = "mixpanel.track('track me'); return validateFields()";

只有在 validateFields() 返回 false 时才会在 mixpanel 上跟踪事件;

我已经很简单地重现了这个问题:

这可以正常追踪:

idConfirmAndSubmitButton.OnClientClick = "mixpanel.track('track me'); return false";

这不是:

idConfirmAndSubmitButton.OnClientClick = "mixpanel.track('track me'); return true";

【问题讨论】:

    标签: asp.net mixpanel


    【解决方案1】:

    似乎如果validateFields() 返回true,则表单提交,页面更改并且混合面板代码没有机会触发。混合面板支持建议我添加一个小的延迟(300 毫秒),以便在提交表单之前让跟踪代码有机会触发。这是我最终得到的代码,它似乎有效:

    <input type="submit" name="ctl00$phMainBody$idConfirmAndSubmitButton" value="Confirm and Submit"
    onclick="if(delayPostback(this,validateFields(['ctl00_phMainBody_idProfileForm']))){ console.log('stopping the postback'); return false;};" 
    id="ctl00_phMainBody_idConfirmAndSubmitButton">
    
    <script type="text/javascript">
        var postbackDelayed = false;
        function delayPostback(e, validated) {
            if (postbackDelayed) {
                postbackDelayed = false;
                return !validated;
            } else {
                postbackDelayed = true;
            }
            console.log('tracking');
            mixpanel.track('Minimum Required Fields - confirm and submit clicked');
            window.setTimeout(function () {
                console.log("clicking again");
                e.click();
            }, 300);
              console.log("returning true");
              return true;
          }
    </script>
    

    部分代码改编自http://forums.asp.net/t/1604156.aspx?Delay+Postback+in+Javascript

    【讨论】:

      猜你喜欢
      • 2021-04-03
      • 2012-08-01
      • 1970-01-01
      • 2012-01-01
      • 2012-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多