0

我正在尝试为用户输入邮政编码然后单击按钮搜索数据库的文本框捕获谷歌分析数据。该应用程序是用 C# 编写的,这里是按钮部分的代码:

<p></p>
<p>
    <asp:Panel DefaultButton="btnSalesRepSearch" runat="server">
    <asp:TextBox ID="txtZipCode" runat="server" ClientIDMode="Static" Width="300px"></asp:TextBox>
        <asp:Button ID="btnSalesRepSearch" runat="server" ClientIDMode="Static" CssClass="buttonregular" Text="Search" OnClick="btnSalesRepSearch_Click" />
        <asp:RequiredFieldValidator ID="reqTxtZipCode" runat="server" ValidationGroup="ZipCode" ControlToValidate="txtZipCode" Display="Dynamic" ErrorMessage="Please enter a valid US Zip code" CssClass="error"></asp:RequiredFieldValidator>
        <asp:RegularExpressionValidator ID="regExTxtZipCode" runat="server" ValidationExpression="^\d{5}(-\d{4})?$" ValidationGroup="ZipCode" ControlToValidate="txtZipCode" Display="Dynamic" ErrorMessage="Please enter a valid US Zip code" CssClass="error"></asp:RegularExpressionValidator>
     </asp:Panel>
</p>

我正在尝试使用 Javascript 触发从文本框中捕获数据的谷歌分析事件,问题出在页面加载上我收到一条错误消息,指出提交按钮为 Null,并且没有任何内容会被捕获到 Google Analytics 中。这是我在下面使用的 Javascript。任何帮助将不胜感激。

<script type="text/javascript">
    var textbox = document.getElementById('txtZipCode'),
    submitButton = document.getElementById('btnSalesRepSearch');

    submitButton.onclick = function (txtZipCode) {
        _trackEvent('data-store', textbox.name, textbox.value, 0);
        // 'data-store' can be replaced with whatever category of data you want, for sortability's sake
        // the 0 can be replaced with any other numerical data you want - but it must be numerical
    }
    </script>
4

1 回答 1

0

像 txtZipCode 这样的 ASP 服务器端 id 与在客户端生成的 id 不同。查看您的 html 源代码,您可以验证 id 是否不同。然后相应地更改您的 document.getElementById 选择器。

于 2012-12-11T15:02:45.173 回答