我想在我的PHP中生成一个删除按钮,它会在点击时从数据库中删除一行.我还想在此链接中通过Javascript发送确认消息,但似乎无法弄清楚如何构造代码.
这是我到目前为止:
echo "<td class='delete'><a href='?page=db&delete=".$row->id."' onclick='return confirm('are you sure?')'>Delete</a></td>";
Run Code Online (Sandbox Code Playgroud)
我猜这个不起作用的原因是由于双/单引号.谁能告诉我如何正确格式化?谢谢.
你可以使用:
这样
onclick='return confirm(\"are you sure?\")'>
Run Code Online (Sandbox Code Playgroud)
也就是说,我重写了这一点,因为没有嵌套在PHP内部的HTML内部的JavaScript,因为尝试跟踪它变得非常糟糕.
<td class='delete'>
<a href="?page=db&delete=<?php echo $row->id; ?>"
class="delete">Delete</a>
</td>
Run Code Online (Sandbox Code Playgroud)
然后,使用jQuery,因为它方便这种事件绑定:
<script>
jQuery("a.delete").on('click', function (evt) {
if (! confirm('are you sure?')) {
evt.preventDefault();
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
由于您不应该使用GET请求进行不安全的操作,我甚至更进一步使用表单.
<td class='delete'>
<form method="post">
<input type="hidden" name="page" value="db">
<button name="delete" value="<?php echo $row->id; ?>">
Delete
</button>
</form>
</td>
<script>
jQuery("td.delete > form").on('submit', function (evt) {
if (! confirm('are you sure?')) {
evt.preventDefault();
}
});
</script>
Run Code Online (Sandbox Code Playgroud)