En mi aplicación Flask tengo una página con un enlace para eliminar: está dentro de una tabla, cada fila tiene esta identificación, aquí estoy enviando la identificación (que normalmente uso para eliminar):
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal" id="submits" onclick="send_to_modal('{{post.id}}')"> Borrar </button>Aquí está mi javascript:
function send_to_modal(id){ document.getElementById("exampleModalLabel").innerHTML = id; };El modal:
<!-- Modal --> <div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">Modal title</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"> </button> </div> <div class="modal-body"> ... </div> <div class="modal-footer"> <button type="button" class="btn btn-success" onclick="modal_a_funccion()">SI</button> <button type="button" class="btn btn-danger" data-bs-dismiss="modal">NO</button> </div> </div> </div> </div>No sé cómo enviar el ID a otra función que se encarga de borrar los datos especificados:
Esta es mi función que funciona correctamente y borra los datos dando la ID:
function modal_a_funccion(id){ console.log("Solicitando un report para: "+id); //fetch('/report/' + olt_hostname).then(function(response) { fetch('/task/report_celery/' + id).then(function(response) { response.json().then(function(data) { for (var x of data.ip) { console.log("REPORT_fetch recibe (IP): " +x.ip_oob) console.log("REPORT_fetch recibe (ESTADO): " +x.estado) }; }); }); };Quisiera saber como hacerlo.
Lo que pretendo hacer es agregar un modal para pedirle al usuario que confirme si eliminar o no. No encuentro la forma de pasar el Id a la función que se encarga de hacer el borrado. Quisiera saber como hacerlo. Muchas gracias.
Una posible solución (de otra manera)
Cuando el usuario hace clic en eliminar para una fila, agregue una clase, por ejemplo, to_delete . Luego muestre la ventana emergente modal preguntando si el usuario desea continuar con la eliminación o no.
Si el usuario dice que no, cierre el modal y elimine la clase nuevamente
Si el usuario dice que sí, llame a la función de eliminación
Para 3, haces algo como
// Find the element that user has marked for delete const element = document.querySelect(".to_delete") const id = element.id;Para 2, haces algo como
// Find the element that user has marked for delete and remove the delete mark document.querySelect(".to_delete").classList.remove("to_delete")