Javascript & Django - Confirm() cancel 不应遵循 href

Javascript & Django - Confirm() cancel should not follow href

我在我的项目中使用 Django,但为了防止从数据表选项中删除项目,confirm 函数出现了一些问题。

尽管在确认弹出窗口中取消,link 仍将我发送到默认 link 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 = "#";
  }
}

对您的 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;
    }
}