在php echo语句中使用参数调用javascript函数

时间:2013-03-11 22:59:54

标签: php javascript

我正在尝试调用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,但仍然无效。我只需点击链接,但没有任何反应。

3 个答案:

答案 0 :(得分:4)

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

你的引号错了:

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

答案 1 :(得分: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/>";

答案 2 :(得分:0)

对于回声,使用单引号'和双引号"时要小心。单个报价在满足另一个单引号时将被关闭,除非它像\'一样进行转义。双引号也是如此。

我不是100%确定你是否可以在 href 中使用javascript,但另一种解决方案是在调用javascript函数时使用onclick,只需使用javascript:void(0)或{{1} } 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/>"; ),因为删除是javascript的保留字。

del