取消按钮在函数 alert_remove() 中不起作用
Cancel button doesn't work in function alert_remove()
我想在删除记录时显示一条是否消息,
我试过这段代码,它工作正常,但 No 按钮 也可以用作 Yes 按钮,这意味着即使我单击 No 它删除该记录
<script language="javascript">
function alert_remove() {
confirm("Are u sure u want to delete ?");
}
</script>
<a rel='tooltip' title='Delete' href='actions.php?delete=$row->id' onClick='javascript:alert_remove();'>
actions.php 文件:
if (isset($_GET['delete'])){
$id = $_GET['delete'];
$query = mysql_query("DELETE FROM users WHERE id=$id");
header("Location: liste.php");
}
你需要return false
为了防止导航,onclick
函数必须 return false
。
onClick='javascript:alert_remove();'
它没有 return
语句,所以它 return 什么都没有。
所以:
- 删除无意义的label
- 添加
return
语句
这样的:
onclick='return alert_remove();'
现在您正在 returning alert_remove
的 return 值,但是该函数也没有 return 语句,因此您需要添加一个:
function alert_remove() {
return confirm("Are u sure u want to delete ?");
}
旁白
过时HTML
<script language="javascript">
这是HTML 3.2。 HTML当前版本为HTML 5.写入当前标准:
<script>
无效HTML
rel='tooltip'
这不是 rel
的注册值。
如果要将任意数据添加到元素以使用 JavaScript 进行访问,请使用 data-*
attribute.
不应该使用 GET 来删除东西
href='actions.php?delete=$row->id'
删除东西不是安全的操作。 HTTP 规范为安全操作保留 GET 请求。
曾发生过一个事件,浏览器插件旨在通过预取后续页面来加快浏览速度,删除了论坛上的大量帖子,因为管理员用户安装了它,并且该表单使用链接来删除帖子。
如果要删除内容,请使用 <form>
并发出 POST 请求。
过时且不安全的数据库访问
mysql_query("DELETE FROM users WHERE id=$id");
您正在使用来自 PHP 的 an obsolete database API that has been removed。这意味着您使用的 PHP 版本自 2018 年以来一直没有安全修复。尽快升级 PHP。
您应该 select 一个 modern replacement 用于您的数据库 API。
此外,您 容易受到 SQL injection attacks that a modern API would make it easier to defend 的影响。
内部事件属性有问题
他们有很多陷阱,自 90 年代以来一直没有被认为是最佳实践。我们现在 addEventListener
。
我想在删除记录时显示一条是否消息, 我试过这段代码,它工作正常,但 No 按钮 也可以用作 Yes 按钮,这意味着即使我单击 No 它删除该记录
<script language="javascript">
function alert_remove() {
confirm("Are u sure u want to delete ?");
}
</script>
<a rel='tooltip' title='Delete' href='actions.php?delete=$row->id' onClick='javascript:alert_remove();'>
actions.php 文件:
if (isset($_GET['delete'])){
$id = $_GET['delete'];
$query = mysql_query("DELETE FROM users WHERE id=$id");
header("Location: liste.php");
}
你需要return false
为了防止导航,onclick
函数必须 return false
。
onClick='javascript:alert_remove();'
它没有 return
语句,所以它 return 什么都没有。
所以:
- 删除无意义的label
- 添加
return
语句
这样的:
onclick='return alert_remove();'
现在您正在 returning alert_remove
的 return 值,但是该函数也没有 return 语句,因此您需要添加一个:
function alert_remove() {
return confirm("Are u sure u want to delete ?");
}
旁白
过时HTML
<script language="javascript">
这是HTML 3.2。 HTML当前版本为HTML 5.写入当前标准:
<script>
无效HTML
rel='tooltip'
这不是 rel
的注册值。
如果要将任意数据添加到元素以使用 JavaScript 进行访问,请使用 data-*
attribute.
不应该使用 GET 来删除东西
href='actions.php?delete=$row->id'
删除东西不是安全的操作。 HTTP 规范为安全操作保留 GET 请求。
曾发生过一个事件,浏览器插件旨在通过预取后续页面来加快浏览速度,删除了论坛上的大量帖子,因为管理员用户安装了它,并且该表单使用链接来删除帖子。
如果要删除内容,请使用 <form>
并发出 POST 请求。
过时且不安全的数据库访问
mysql_query("DELETE FROM users WHERE id=$id");
您正在使用来自 PHP 的 an obsolete database API that has been removed。这意味着您使用的 PHP 版本自 2018 年以来一直没有安全修复。尽快升级 PHP。
您应该 select 一个 modern replacement 用于您的数据库 API。
此外,您 容易受到 SQL injection attacks that a modern API would make it easier to defend 的影响。
内部事件属性有问题
他们有很多陷阱,自 90 年代以来一直没有被认为是最佳实践。我们现在 addEventListener
。