如何在javascript onclick函数中传递逗号分隔的php动态参数。有人可以帮助我进行正确的修复吗?以下不锻炼。

echo "<td><a href='#' onclick='editUser(". $row['pub_name'] .",". $row['name'] .",". $row['email_id'] .")'>Edit</a></td>";


JavaScript:

function editUser(id, pm, email) {
    alert(id);
    alert(pm);
    alert(email);
}

最佳答案

假设值是字符串,则需要在它们两边加上引号:

echo "<td><a href='#' onclick='editUser(\"". $row['pub_name'] ."\",\"". $row['name'] ."\",\"". $row['email_id'] ."\")'>Edit</a></td>";


还要注意,在过时的on*事件属性上使用不引人注目的JS代码附加事件处理程序是更好的做法。正如标记了jQuery一样,您可以这样做:

echo '<td><a href="#" data-pubname="'.$row['pub_name'].'" data-name="'.$row['name'].'" data-emailid="'.$row['email_id'].'">Edit</a></td>';


$('td a').click(function(e) { // change selector as appropriate here
    e.preventDefault();
    var $el = $(this);
    console.log($el.data('pubname'));
    console.log($el.data('name'));
    console.log($el.data('emailid'));
});

09-25 19:28