使用多个参数从HTML调用javascript函数

时间:2019-11-29 07:22:46

标签: javascript php html parameters

我正在尝试调用一个名为validateRemove(title,id)的javascript函数,以从表中删除元素。当用户单击看起来像“ X”的链接时,应调用此函数。我在下面附加了代码以显示如何执行此操作,但是似乎出现了一些错误,并且不确定为什么。大多数元素都可以删除,但是当我单击链接以调用该函数时,没有任何反应。有更好的方法吗?不知道为什么会这样。

<td><?php echo '<a onclick="confirmRemove(\'' . $title . '\',\'' . $id . '\')" 
href="javascript:void(0)">X</a>';?></td>

2 个答案:

答案 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>