Uncaught ReferenceError: функция не определена, но определена - PullRequest
0 голосов
/ 30 мая 2018
for(let i = 0; i < row.length; i++){
        let ref_num = row[i].getElementsByTagName('th')[0].innerText;
        row[i].getElementsByTagName('th')[0].innerHTML = "<button onclick=generateProcessLogQuery(this.value)>"+ref_num+"</button>"
        console.log("Ref Number : ",ref_num);
}

function generateProcessLogQuery(refresh){
        console.log("Hrere : ",refresh)
}

Я получаю:

Uncaught ReferenceError: generateProcessLogQuery не определено

, но вы можете видеть, что оно определено.

1 Ответ

0 голосов
/ 30 мая 2018

Хотя он определен в фрагменте кода, который вы нам показали, он не определен в области, в которой в конечном итоге запускается функция onclick.

Не генерировать JS, вложенный в HTML с помощьюсмешивание строк.

Используйте DOM.Это позволяет сохранять ссылки и область действия.

let button = document.createElement("button");
button.addEventListener("click", function (event) {
    generateProcessLogQuery(this.value);
});
button.appendChild(document.createTextNode(ref_num);
row[i].getElementsByTagName('th')[0].appendChild(button);

Примечание: использование кнопки this.value для определяемой вами кнопки без атрибута значения странно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...