我创建了一个 PHP 页面以从我的数据库中删除。这个 PHP 页面是表单提交的操作。表格是通过点击“X”标志的图片提交的。如何在提交表单之前要求用户确认并从我的数据库中删除?
这是我的代码:
<form method='POST' action='delete.php'><input type='image' src='images/delete.png' class='del' alt='Submit Form' />
Run Code Online (Sandbox Code Playgroud)
我试图通过将它添加到我的表单标签来内联执行它,但它不起作用:
onsubmit="return confirm('Are you sure you want to submit this form?');"
Run Code Online (Sandbox Code Playgroud)
来自 OP 的评论:
Run Code Online (Sandbox Code Playgroud)echo "onclick='return confirm(\'Are you sure you want to submit this form?\');'"
不能在用单引号分隔的属性值中使用单引号。
您的选择是:
在 JS 中使用双引号
echo "onclick='return confirm(\"Are you sure you want to submit this form?\");'"
Run Code Online (Sandbox Code Playgroud)
在 HTML 中使用双引号
echo "onclick=\"return confirm('Are you sure you want to submit this form?');\""
Run Code Online (Sandbox Code Playgroud)
使用实体
echo "onclick='return confirm("Are you sure you want to submit this form?");\""
Run Code Online (Sandbox Code Playgroud)
当您将 JavaScript 放入 PHP 字符串中的 HTML 属性值时,您会将三种不同的语言混合在一起,并且您必须非常非常小心地进行转义,以便在正确的时间为正确的语言转义正确的字符.
根据经验,最好将 PHP 字符串的内容保持在最低限度。仅当您有变量时才进入 PHP 模式。
?>
<form method='POST' action='delete.php'>
<input type='image' src='images/delete.png' class='del' alt='Submit Form' onclick="return confirm('Are you sure you want to submit this form?');" />
</form>
<?php
Run Code Online (Sandbox Code Playgroud)
出于同样的原因,最好将 JavaScript 保存在外部文件中,并使用addEventListener而不是onFOO属性附加事件处理程序。