我有这个代码:
$sub_array[] =array('<a href="delete.php?id=' . $row['id'] . '">Elimina</a>');
$data[] = $sub_array;
并想补充:
onclick="return confirm('Are you sure you want to delete?');"
敬它。我试过:
$sub_array[] =array('<a href="delete.php?id=' . $row['id'] . '" onclick="return confirm('Are you sure you want to delete?');">Elimina</a>');
$data[] = $sub_array;
但我收到一个错误。
在单行代码上混合三种不同的语言只是要求引用问题。至少,当您在带引号的字符串中有带引号的字符串时,您需要转义这些引号:
'" onclick="return confirm(\'Are you sure you want to delete?\');">Elimina</a>'
否则,语法解析器将无法知道您希望成为字符串文字的内容,以及您希望成为语言语法的一部分的内容。
作为一种长期的方法,我建议您开始将JavaScript与HTML分开。(您可以通过将HTML与PHP分离来进一步清理事情,可能使用PHP框架或某种模板引擎,尽管我不太熟悉事情的PHP部分。)
在页面中引用的单独JavaScript文件中使用类似AddEventListener
的内容将是一种简单的方法。PHP所要做的基本上就是呈现HTML,然后在HTML中的元素引用的单独的
.js
文件中将事件处理程序添加到目标元素中。
只是上面提到的一个引用问题。您似乎没有使用IDE软件来编写代码,或者至少没有语法高亮显示的代码。我会研究它,因为它会使这样的东西超级容易调试。
然而,以下方法应该起作用!:)
$sub_array[] = array("<a href=\"delete.php?id=" . $row['id'] . "\" onclick=\"return confirm('Are you sure you want to delete?');\">Elimina</a>");
$data[] = $sub_array;