Javascript& Django - 确认()取消不应该跟随href

时间:2018-01-06 12:12:32

标签: javascript django confirm

我在我的项目中使用Django并且我在confirm函数中遇到了一些问题,以防止从数据表选项中删除项目。

尽管在确认弹出窗口中取消,链接仍然会将我发送到默认链接href并删除该对象。

这是我的HTML:

<a class='btn btn-danger btn-xs' id="elimina-objeto" onclick="confirmaEliminacion()" href="{% url 'eliminarQueja' queja.id %}">Eliminar</a>

我的JS:

function confirmaEliminacion() {
  var res = confirm("Va a eliminar el objeto seleccionado. Si desea continuar, pulse aceptar.");

  if (res) {
    return false;
  } else {
    document.getElementById("elimina-objeto").href = "#";
  }
}

1 个答案:

答案 0 :(得分:2)

对您的HTML进行一些小改动:

<a class='btn btn-danger btn-xs' id="elimina-objeto" onclick="return confirmaEliminacion()" href="{% url 'eliminarQueja' queja.id %}">Eliminar</a>

此外,如果用户想要删除并遵循原始href,则应该从javascript函数返回true,如果他们不想删除,则应false。不需要更改href值:

function confirmaEliminacion() {
  var res = confirm("Va a eliminar el objeto seleccionado. Si desea continuar, pulse aceptar.");
    if (res) {
        return true;
    } else {
        return false;
    }
}