在从数据库中删除用户之前,我已经安装了一个JS提示符。但由于某些原因我的生活,我无法发现它失败的原因 - 我从我的JS文件夹中提取了一小部分脚本:
for(int j = stepLeft-1; j < stepLeft; j++)
在我的user.php文件中使用它,列出了用户:
var elems = document.getElementsByClassName('confirmation');
var confirmIt = function (e) {
if (!confirm('Are you sure you want to delete this user?'));
};
for (var i = 0, l = elems.length; i < l; i++) {
elems[i].addEventListener('click', confirmIt, false);
}
顺便说一下,我知道这不是最好的做事方式,但我正在学习,我正在使用班级名称'确认'来启用提示。但是当我点击它时它仍会删除记录,但不再是提示。
答案 0 :(得分:3)
如果要停止操作,则需要从函数返回false。
var confirmIt = function (e) {
return confirm('Are you sure you want to delete this user?');
};
在你身上PHP
"<span><a class='deleteMember confirmation' onClick="return confirmIt()" href='deleteMember.php?id=".$row['id']."' title='Delete user'><i class='fa fa-times'></i></a></span>"
应该这样做。
答案 1 :(得分:1)
似乎需要额外的东西。为什么不'返回确认':
function confirmIt(){
return confirm('Are you sure you want to delete this user?');
}
然后在点击时调用“confirmIt”。 (实际上你可以在你的onclick中为'A元素'添加'return confirm':
<span><a onclick="return confirm('Are you sure you want to delete this user?');" class='deleteMember confirmation' id='deletePrompt' href='deleteMember.php?id=".$row['id']."' title='Delete user'><i class='fa fa-times'></i></a></span>
最后一个选项是将id传递给js函数:
function confirmIt(e){
if (confirm('Are you sure you want to delete this user?'))
{
window.location.href = "deleteMember.php?id=" + e;
}
}
<span><a onclick='confirmIt(".$row['id'].")' class='deleteMember confirmation' id='deletePrompt' href='' title='Delete user'><i class='fa fa-times'></i></a></span>
答案 2 :(得分:0)
我认为问题可能是你在进行比较之前没有抓住confirm()的结果。看看这个:
http://www.w3schools.com/jsref/met_win_confirm.asp
首先尝试获取确认结果,然后将其放入if语句中。
此外,在失败时,您希望返回false以防止锚定行为继续,或者它将处理两个选项的删除操作。