recherche

Maison  >  Questions et réponses  >  le corps du texte

Uncaught ReferenceError : e n'est pas défini dans HTMLInputElement.onclick

J'obtiens cette erreur lorsque e est un MouseEvent.

Le code HTML impliquant l'événement de clic de case à cocher en question ressemble à ceci :

<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>

Dans le HTML ci-dessus, voici la partie problématique :

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

Pour une raison inconnue, lorsque je débogue et exécute ce programme dans Visual Studio dans le navigateur Edge, j'obtiens une erreur.

D'une manière ou d'une autre, e devient indéfini et n'atteint jamais l'appel de fonction Javascript.

Voici la définition de la fonction Javascript :

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();
    }
}

Maintenant, pour aggraver les choses : lors de l'exécution à partir d'une page Web déployée, aucune erreur ne se produit.

J'ai lu presque toutes les questions similaires liées à cette erreur, mais aucune ne semble s'appliquer. Je suis ouvert à toute aide.

P粉012875927P粉012875927430 Il y a quelques jours597

répondre à tous(1)je répondrai

  • P粉785522400

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

    (À moins qu'ASP.NET fasse quelque chose de bizarre (je n'utilise pas ASP.NET et vous n'avez pas marqué la question comme concernant ), avoir onclick 属性)e n'est pas un événement de souris. Ce n'est pas défini. Le message d'erreur indique tu es ça

    事件 est un événement de souris mais est obsolète.

    Il est recommandé d'utiliser addEventListeneraddEventListener 而不是内在事件属性(如 onclick au lieu des propriétés intrinsèques de l'événement (telles que onclick).

    element.addEventListener('click', chkOlcs_onClick) Passera l'événement souris comme premier paramètre.

    répondre
    0
  • Annulerrépondre