1

我正在尝试在 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,但仍然没有任何效果。我只是单击链接,但没有任何反应。

4

3 回答 3

4

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

你得到了错误的报价:

"<a href=\"javascript:deleteMembers('del_member.php', '$studentid');\">";
于 2013-03-11T23:01:47.250 回答
2

您在 HTMLJS'中用作指示符。您将不得不在一个地方和其他地方使用它。"

工作版本将类似于:

echo "<a href=\"edit_members.php?id=$studentid\">Edit</a> or <a href=\"javascript:deleteMembers('del_member.php', '$studentid');\">Delete</a><br/><br/>";
于 2013-03-11T23:01:57.197 回答
0

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

我不是 100% 确定你是否可以在href中使用 javascript ,但另一种解决方案是在调用 javascript 函数时使用 onclick,并且只使用javascript:void(0)or#作为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>
于 2013-03-11T23:10:59.487 回答