簡體   English   中英

如何在 javaScript 中獲得點擊而不是 [object MouseEvent] 的價值

[英]How can i get value on click instead of [object MouseEvent] in javaScript

所以我的所有按鈕上都有一個事件處理程序。 按鈕比調用 function 應該 go 到 servlet。

這是我按鈕上的監聽器。

    const buttons = document.getElementsByClassName("category-button");

for (let i = 0; i < buttons.length; ++i) {
    buttons[i].addEventListener("click", function () {
        populateDeleteTable(this.value);
    });
}

我給了我的 function 一個參數,當我點擊按鈕時,我得到一個 object 鼠標事件。

function populateDeleteTable(category) {

這就是我得到的。 我畫了不重要的部分。

在此處輸入圖像描述

所以基本上不是[object MouseEvent]我想要按鈕einID2的 id 我該怎么做?

編輯:

這是 Function。 也許有人看到了問題。 當前代碼

const buttons = document.getElementsByClassName("category-button");

for (let i = 0; i < buttons.length; ++i) {
buttons[i].addEventListener("click", function (event) {
    populateDeleteTable(event.target.id);
});
}



function populateDeleteTable(category) {

    var servletURL = "../deleteServlet_1"

    console.log(category);

    let xmlHttpRequest = new XMLHttpRequest();

    
    xmlHttpRequest.onreadystatechange = function () {
        if (xmlHttpRequest.readyState === 4 && xmlHttpRequest.status === 200) {

            console.log("test inner")
            console.log(xmlHttpRequest.responseText);

            let itemGetter = JSON.parse(xmlHttpRequest.responseText);
            JSON.stringify(itemGetter);

            var ausgabe = "<table><tr><th>ID</th><th>Artikel Bezeichnung</th><th>Preis</th><th>Kategorie</th></tr>";

            

            for (var i = 0; i <= itemGetter.length - 1; i++) {


                //servletURL.searchParams.append("lookfor", itemGetter[i].kategorie);
                ausgabe += "<tr><td>";
                ausgabe += itemGetter[i].id;
                ausgabe += "</td><td>";
                ausgabe += itemGetter[i].artikelName;
                ausgabe += "</td><td>";
                ausgabe += itemGetter[i].preis.toFixed(2);
                ausgabe += "</td><td>";
                ausgabe += itemGetter[i].kategorie;
                ausgabe += "</td><td>";
                ausgabe += "<a href= \"deleteServlet_2?id=" + itemGetter[i].id + "\">Delete</a>"

            }
            ausgabe += "</td></tr></table>";
            document.getElementById("listeDeleteB").innerHTML = ausgabe;





        }
    };

    xmlHttpRequest.open("GET", servletURL + "?category=" + encodeURI(category), true);
    xmlHttpRequest.send();
}

通過event.target訪問您單擊的元素,然后通過event.target.id查看它的ID查看event.target的文檔,您可以找到更多對您有用的東西。 https://developer.mozilla.org/en-US/docs/Web/API/Event/target

嘗試這個:

buttons[i].addEventListener("click", function (event) {
    populateDeleteTable(event.target.id);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM