警报确认Javascript

时间:2015-04-27 14:32:52

标签: javascript php html

在从数据库中删除用户之前,我已经安装了一个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);
}

顺便说一下,我知道这不是最好的做事方式,但我正在学习,我正在使用班级名称'确认'来启用提示。但是当我点击它时它仍会删除记录,但不再是提示。

3 个答案:

答案 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以防止锚定行为继续,或者它将处理两个选项的删除操作。