在PHP中回应Javascript?

时间:2014-08-28 15:24:03

标签: 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>";

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

2 个答案:

答案 0 :(得分:5)

您可以使用:

  • 双引号(必须为PHP转义)
  • 单引号的字符引用
  • 双引号的字符引用

这样的

onclick='return confirm(\"are you sure?\")'>

那就是说,我重写了这一点,因为在HTML内部没有嵌套在HTML里面的JavaScript,因为试图跟踪它会变得很糟糕。

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

然后,使用jQuery,因为它很方便这种事件绑定:

<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>

答案 1 :(得分:1)

你可以试试这个

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