【问题标题】:call javascript function with arguments within php echo statement在 php echo 语句中调用带有参数的 javascript 函数
【发布时间】:2013-03-11 22:59:53
【问题描述】:

我正在尝试在 php 中调用一个 javascript 函数,该函数将弹出一个确认按钮。如果用户按下是,那么它将继续到页面,否则它将停留在同一页面上。我写了它,但我不知道有什么问题。

php:

echo "<a href='edit_members.php?id=$studentid'>Edit</a> or <a href=\"javascript:deleteMembers('del_member.php', '$studentid');\">Delete</a><br/><br/>";

javascript(我把它放在标签之前):

<script type="text/javascript">
    function deleteMembers(url, id) {
       var deleteMemberConfirmation = confirm("Are you sure you want to delete?");
       if(deleteMemberConfirmation) {
         window.location="http://mvcsf.com/admin/"+url+"?"+id;
        }
       else {
         window.location="http://mvcsf.com/admin/view_members.php";
       }     
     }
</script>

我在页面顶部启用了ERROR_REPORTING(E_ALL);,但它没有返回任何内容。我做错了什么?

编辑:我将变量名称更改为 deleteMemberConfirmation,但仍然没有任何效果。我只是单击链接,但没有任何反应。

【问题讨论】:

  • 加载此页面时会发生什么?你得到一个空白的白屏吗?它看起来正确但按钮不起作用?等

标签: php javascript


【解决方案1】:

delete 是 javascript 中的保留关键字,不是有效的变量名!

你把引号弄错了:

"<a href=\"javascript:deleteMembers('del_member.php', '$studentid');\">";

【讨论】:

    【解决方案2】:

    您在 JS 中的 HTML AND 中使用 ' 作为指示符。您必须在一个地方使用它,而在其他地方使用 "

    工作版本类似于:

    echo "<a href=\"edit_members.php?id=$studentid\">Edit</a> or <a href=\"javascript:deleteMembers('del_member.php', '$studentid');\">Delete</a><br/><br/>";
    

    【讨论】:

      【解决方案3】:

      对于您的回声,在使用单引号 ' 和双引号 " 时要小心。一个单引号在遇到另一个单引号时将被关闭,除非它像 \' 这样被转义。双引号也是如此。

      我不能 100% 确定你是否可以在 href 中使用 javascript,但另一种解决方案是在调用 javascript 函数时使用 onclick,并且只需使用 javascript:void(0)# 来表示 href 属性。

      echo "<a href='edit_members.php?id=$studentid'>Edit</a> or <a href='javascript:void(0)' onclick=\"deleteMembers('del_member.php', '$studentid');\">Delete</a><br/><br/>";
      

      至于delete,把delete字改成别的(即:del),因为delete是javascript的保留字。

      <script type="text/javascript">
      function deleteMembers(url, id) {
          var del = confirm("Are you sure you want to delete?");
          if(del) {
              window.location="http://mvcsf.com/admin/"+url+"?"+id;
          }
          else {
              window.location="http://mvcsf.com/admin/view_members.php";
          }
      }
      </script>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-23
        • 1970-01-01
        相关资源
        最近更新 更多