javascript - 在 PHP 中回显 Javascript?

标签 javascript php

我正在尝试在 PHP 中生成一个删除按钮,单击该按钮将从数据库中删除一行。我还想通过此链接中的 Javascript 抛出一条确认消息,但似乎无法弄清楚如何构建代码。

这是我到目前为止所拥有的:

echo "<td class='delete'><a href='?page=db&amp;delete=".$row->id."' onclick='return confirm('are you sure?')'>Delete</a></td>";

我猜测这不起作用的原因是由于双引号/单引号。谁能告诉我如何正确格式化它?谢谢。

最佳答案

您可以使用:

  • 双引号(对于 PHP 必须进行转义)
  • 单引号的字符引用
  • 双引号的字符引用

这样

onclick='return confirm(\"are you sure?\")'>
<小时/>

也就是说,我会重写它,不要将 JavaScript 嵌套在 HTML 中的 HTML 中,在 PHP 中嵌套在 HTML 中,因为尝试跟踪会变得很糟糕。

<td class='delete'>
   <a href="?page=db&amp;delete=<?php echo $row->id; ?>" 
      class="delete">Delete</a>
</td>

然后,使用 jQuery,因为它对于这种事件绑定(bind)很方便:

<script>
    jQuery("a.delete").on('click', function (evt) {
        if (! confirm('are you sure?')) {
            evt.preventDefault();
        }
    });
</script>
<小时/>

由于您不应该使用 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>

关于javascript - 在 PHP 中回显 Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25552519/

相关文章:

javascript - react : how do you assign default properties of object props?

javascript - 最高的 Unicode 字符?

javascript - 当用户单击 iframe 中的按钮时,重新加载网站(不是 iframe)

javascript - 变量未将数据返回到 NODE 中的浏览器

php - PHP 中的正则表达式 : Matching to the UTS18 standard

javascript 使用模糊验证输入无法获得自动完成结果

javascript - 如果javascript条件为真,如何调用php函数

具有多列的 PHP/MySQL 下拉列表,语法问题

php - 单元测试 : Specific testing & Flow of Control

php - 这是一个更快的功能