按钮单击不是功能

时间:2019-10-07 13:51:22

标签: php html ajax button

我在HTML数据表的每一行中都插入了一个删除按钮。在按钮上单击,我要删除该行。但是,我的删除按钮无法启动JS功能。

我尝试了button.setAttributebutton.onclick,但是它们为空。

function MakeTable(iArray)
{
    var myArray = [];
    var table = document.getElementById("myTable");

    for(var i = 0; i< iArray.length; ++i)
    {
        myArray[i] = iArray[i];
        btn = document.createElement('button');

        btn.setAttribute('type', 'button');
        btn.setAttribute('class','Delete');
        btn.setAttribute('id', myArray[i].userID);

        btn.innerHTML = "Delete" + btn.getAttribute('id');

        let row0 = table.insertRow();
        let blankCell = row0.insertCell(0)
        let cell0 = row0.insertCell(1);
        let cell1 = row0.insertCell(2);
        let cell2 = row0.insertCell(3);
        blankCell.appendChild(btn);
        cell0.textContent = myArray[i].userID;
        cell1.textContent = myArray[i].username;
        cell2.textContent = myArray[i].password;

    }
    btn.setAttribute('onclick', DeleteUsers());
}

function DeleteUsers()
{
   alert("clicked!");
}

警报会在重新加载页面上显示,但不会在单击任何按钮时显示。

2 个答案:

答案 0 :(得分:0)

您不应该使用onClick,因为它是不安全的并且只是马车。相反,如果您使用的是jQuery,或者如果您使用的是Vanila JS,请尝试使用$('.class').on('click', function(){ DeleteUsers() }

document.getElementByClassName('class').addEventListener('click', function () {
  DeleteUsers();
});

答案 1 :(得分:0)

btn.setAttribute('onclick', DeleteUsers());

当您将其指定为“ onclick”时,此行将执行DeleteUsers()方法。

尝试

btn.setAttribute('onclick', DeleteUsers);

这样,您仅将指针传递给该方法,而不是立即调用它。