我正在尝试调用一个名为validateRemove(title,id)的javascript函数,以从表中删除元素。当用户单击看起来像“ X”的链接时,应调用此函数。我在下面附加了代码以显示如何执行此操作,但是似乎出现了一些错误,并且不确定为什么。大多数元素都可以删除,但是当我单击链接以调用该函数时,没有任何反应。有更好的方法吗?不知道为什么会这样。
<td><?php echo '<a onclick="confirmRemove(\'' . $title . '\',\'' . $id . '\')"
href="javascript:void(0)">X</a>';?></td>
答案 0 :(得分:4)
您可以尝试使用此代码
<td> <a onclick="confirmRemove('<?php echo $title; ?>','<?php echo $id; ?>')"
href="javascript:void(0)">X</a></td>
答案 1 :(得分:1)
您问是否有更好的方法可以做到这一点-我建议这样做,并且应该使用绑定到有问题的特定HTML元素的外部注册事件处理程序-在此示例中特别是超链接。>
如果将相关属性分配给超链接(数据集属性对于此类任务非常有用),则可以在事件侦听器中轻松处理它们。通过采用这种方法,无需使用复杂的escaping
进行引号,并且最好的是,您可以将HTML与Javascript分开-事件处理程序可以位于另一个文件中
<td>
<a class='removal' href='javascript:void(0)' data-title="<?php echo $title;>" data-id="<?php echo $id;?>">X</a>
</td>
<script>
Array.from( document.querySelectorAll('a.removal') ).forEach( a=>{
a.addEventListener('click',function(e){
confirmRemove( this.dataset.title, this.dataset.id )
});
});
</script>