Неопределенная функция, хотя я определил ее в Javascript - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь решить свое назначение в NodeJs и Electron, у меня есть массив данных в файле Main. js и извлечь его в индекс. html с использованием методов IP C. В каждой записи / строке данных также есть кнопка, и я хочу установить функцию для этой кнопки с помощью атрибута onclick. Но это дает мне ошибку, когда я нажимаю кнопку, что функция не определена. Мой код:

function myfun(){
    console.log("not working");
}
ipc.send("requestFileData");
ipc.on("responseFileData",(event,data)=>{

        // var htmldata = "";
        data.forEach(myFiles => {
            contentsTable.append(`
            <tr id="${myFiles.id}">
            <td>${myFiles.id}</td>
            <td>${myFiles.file_name}</td>
            <td><button id="${myFiles.id}" onclick="myfun()">Edit Image</button></td>
            </tr>
            `);
        });
});

, когда я нажимаю на кнопку «Редактировать изображение», это вызывает ошибку:

Uncaught ReferenceError: myfun не определен в HTMLButtonElement.onclick (index. html: 1 )

1 Ответ

0 голосов
/ 16 апреля 2020

Наконец-то я нашел решение, которым хотел бы поделиться:

ipc.on("responseFileData",(event,data)=>{

        contentsTable.html("");
        data.forEach(myFiles => {
            contentsTable.append(`
            <tr>
            <td>${myFiles.id}</td>
            <td class="fields">${myFiles.file_name}</td>
            <td><button class="clickedit" id="${myFiles.id}">Edit Image</button></td>
            </tr>
            `);
        });
        let editBtn = document.getElementsByClassName("clickedit");

        for(let i = 0; i < editBtn.length; i++) {
            editBtn[i].addEventListener("click", function() {
              var editId = editBtn[i].id;
              console.log(editId);
            });
          }
        });
...