Ralat Rujukan Tidak Ditangkap: e tidak ditakrifkan dalam HTMLInputElement.onclick
P粉012875927
P粉012875927 2023-09-12 14:10:18
0
1
543

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粉012875927
P粉012875927

membalas semua(1)
P粉785522400

(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 addEventListener code>addEventListener code> 而不是内在事件属性(如 onclick dan bukannya sifat peristiwa intrinsik (seperti onclick).

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!