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