Rumah  >  Soal Jawab  >  teks badan

Ralat Rujukan Tidak Ditangkap: e tidak ditakrifkan dalam HTMLInputElement.onclick

Saya mendapat ralat ini apabila e ialah MouseEvent.

HTML yang melibatkan acara klik kotak pilihan yang dimaksudkan kelihatan seperti ini:

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

Dalam HTML di atas, ini adalah bahagian yang bermasalah:

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

Atas sebab yang tidak diketahui, apabila saya nyahpepijat dan menjalankan program ini dalam Visual Studio dalam pelayar Edge, saya mendapat ralat.

Entah bagaimana, e menjadi tidak ditentukan dan tidak pernah mencapai panggilan fungsi Javascript.

Ini ialah definisi fungsi 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();
    }
}

Sekarang untuk memburukkan lagi keadaan: apabila berjalan dari halaman web yang digunakan, tiada ralat berlaku.

Saya telah membaca hampir semua soalan yang serupa yang berkaitan dengan ralat ini tetapi tiada satu pun daripadanya nampaknya terpakai. Saya terbuka untuk sebarang bantuan.

P粉012875927P粉012875927381 hari yang lalu545

membalas semua(1)saya akan balas

  • P粉785522400

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

    (Melainkan ASP.NET melakukan sesuatu yang pelik (saya tidak menggunakan ASP.NET dan anda tidak menandai soalan itu sebagai tentang ), mempunyai onclick 属性)e bukan acara tetikus. Ia tidak ditentukan. Mesej ralat memberitahu awak yang Ini

    事件 ialah acara tetikus tetapi telah ditamatkan.

    Adalah disyorkan untuk menggunakan addEventListeneraddEventListener 而不是内在事件属性(如 onclick dan bukannya sifat peristiwa intrinsik (seperti onclick).

    element.addEventListener('click', chkOlcs_onClick) Akan melepasi acara tetikus sebagai parameter pertama.

    balas
    0
  • Batalbalas