Heim  >  Fragen und Antworten  >  Hauptteil

Nicht erfasster Referenzfehler: e ist in HTMLInputElement.onclick nicht definiert

Ich erhalte diesen Fehler, wenn e ein MouseEvent ist.

Der HTML-Code für das betreffende Kontrollkästchen-Klickereignis sieht folgendermaßen aus:

<ItemTemplate>
    <tr style="border-top:1px solid  #adadad;border-bottom:1px solid  #adadad;">
        <td>
            <asp:HiddenField runat="server" id="hfOptionProductID" value='<%#Eval("Key.ProductID")%>' />
            <asp:HiddenField runat="server" id="hfOptionModelNumber" value='<%#Eval("Key.BTModel")%>' />
            <asp:HiddenField runat="server" ID="hfAssetId" value='<%#Eval("Value.AssetID")%>' />
            <p>
               <%#Eval("Key.Name")%><asp:CheckBox runat="server" id="chbxOption" class="chkOlcs" onclick="chkOlcs_onClick(e);"/>
            </p>
            <asp:Panel runat="server" ID="pnlOlcs" class="pnlOlcs" Visible="False">
                <asp:CheckBox runat="server" ID="chkDomain" class="chkDomain" onclick="chkDomain_onClick(e)" Text="I want to link my license to a specific domain and its subdomains." /><br/>
                <asp:TextBox runat="server" ID="txtDomain" class="txtDomain"  style="padding: 3px 5px; text-align: center; width: 200px;" placeholder="Enter a domain name"  ValidationGroup="OptionValidationGroup" disabled />
                <asp:Label runat="server" ID="lblDomainError" class="lblDomain" Visible="False" style="color: red;"/><br/>
                <asp:CheckBox runat="server" ID="chkAny" class="chkAny" onclick="chkAny_onClick(e)" Text="I do not want to link my license to a specific domain."/><br/>
            </asp:Panel>
            <br />
       </td>               
   </tr>     
</ItemTemplate>

Im obigen HTML ist dies der problematische Teil:

<%#Eval("Key.Name")%>< /strong>

Aus irgendeinem unbekannten Grund erhalte ich eine Fehlermeldung, wenn ich dieses Programm in Visual Studio im Edge-Browser debugge und ausführe.

Irgendwie wird e undefiniert und erreicht nie den Javascript-Funktionsaufruf.

Dies ist die Javascript-Funktionsdefinition:

function chkOlcs_onClick(e) {
    var chkOlcs = $('#' + e.target.id);
    var pnlOlcs = chkOlcs.parent().parent().parent().find('.pnlOlcs');

    var isChecked = e.target.checked;
    if (isChecked) {
        pnlOlcs.show();
    } else {
        pnlOlcs.hide();
    }
}

Um die Sache noch schlimmer zu machen: Beim Ausführen von einer bereitgestellten Webseite tritt kein Fehler auf.

Ich habe fast alle ähnlichen Fragen zu diesem Fehler gelesen, aber keine davon scheint zuzutreffen. Ich bin für jede Hilfe offen.

P粉012875927P粉012875927381 Tage vor546

Antworte allen(1)Ich werde antworten

  • P粉785522400

    P粉7855224002023-09-13 13:35:45

    (除非 ASP.NET 做了一些奇怪的事情(我不使用 ASP.NET,你没有将问题标记为关于 ),具有 onclick 属性)e 不是鼠标事件。它是未定义的。错误消息告诉您这一点。

    事件 是一个鼠标事件,但已被弃用。

    建议使用addEventListener 而不是内在事件属性(如 onclick)。

    element.addEventListener('click', chkOlcs_onClick) 将传递鼠标事件作为第一个参数。

    Antwort
    0
  • StornierenAntwort