Tengo una tabla HTML de filas vinculadas a filas de la base de datos. Me gustaría tener un enlace "eliminar fila" para cada fila, pero me gustaría confirmar con el usuario de antemano.
¿Hay alguna manera de hacer esto usando el diálogo modal de Twitter Bootstrap?
Respuestas:
OBTENER receta
Para esta tarea, puede usar complementos y extensiones de arranque ya disponibles. O puede hacer su propia ventana emergente de confirmación con solo 3 líneas de código. Echale un vistazo.
Supongamos que tenemos estos enlaces (nota en
data-href
lugar dehref
) o botones para los que queremos tener confirmación de eliminación:Aquí
#confirm-delete
apunta a un div emergente modal en su HTML. Debería tener un botón "Aceptar" configurado de esta manera:Ahora solo necesita este pequeño javascript para hacer confirmable una acción de eliminación:
Por lo tanto, el
show.bs.modal
botón de eliminación de eventohref
está configurado en URL con la identificación de registro correspondiente.Demostración: http://plnkr.co/edit/NePR0BQf3VmKtuMmhVR7?p=preview
POST receta
Me doy cuenta de que en algunos casos puede ser necesario realizar una solicitud POST o DELETE en lugar de GET. Todavía es bastante simple sin demasiado código. Eche un vistazo a la demostración a continuación con este enfoque:
Mostrar fragmento de código
Demostración: http://plnkr.co/edit/V4GUuSueuuxiGr4L9LmG?p=preview
Bootstrap 2.3
Aquí hay una versión original del código que hice cuando respondía esta pregunta para el modal Bootstrap 2.3.
Demostración : http://jsfiddle.net/MjmVr/1595/
fuente
http://bootboxjs.com/ - últimos trabajos con Bootstrap 3.0.0
El ejemplo más simple posible:
Desde el sitio:
Aquí hay un fragmento de él en acción (haga clic en "Ejecutar fragmento de código" a continuación):
fuente
fuente
Me di cuenta de que es una pregunta muy antigua, pero desde que me preguntaba hoy por un método más eficiente para manejar los modales de arranque. Investigué un poco y encontré algo mejor que las soluciones que se muestran arriba, que se pueden encontrar en este enlace:
http://www.petefreitag.com/item/809.cfm
Primero cargue el jquery
Entonces solo haga cualquier pregunta / confirmación a href:
De esta forma, el modo de confirmación es mucho más universal y, por lo tanto, puede reutilizarse fácilmente en otras partes de su sitio web.
fuente
Gracias a la solución de @ Jousby , logré que el mío funcionara también, pero descubrí que tenía que mejorar un poco el marcado modal Bootstrap de su solución para que se procesara correctamente como se demostró en los ejemplos oficiales .
Entonces, aquí está mi versión modificada de la
confirm
función genérica que funcionó bien:fuente
btnType = "btn-primary"
y luego cambiar el código para que contenga el botón Aceptarclass="btn ' + btnType + '"
. De esa manera, se puede pasar un argumento opcional para cambiar la apariencia del botón Aceptar, comobtn-danger
para eliminar.Encontré esto útil y fácil de usar, además se ve bonito: http://maxailloud.github.io/confirm-bootstrap/ .
Para usarlo, incluya el archivo .js en su página y luego ejecute:
Hay varias opciones que puede aplicar, para que se vea mejor al hacerlo para confirmar una eliminación, utilizo:
fuente
Puedo manejar fácilmente este tipo de tarea usando la biblioteca bootbox.js. Al principio, debe incluir el archivo JS de bootbox. Luego, en su función de controlador de eventos, simplemente escriba el siguiente código:
Sitio oficial de bootboxjs
fuente
La siguiente solución es mejor que bootbox.js , porque
digimango.messagebox.js :
Para usar digimango.messagebox.js :
fuente
Puede probar mi solución más reutilizable con la función de devolución de llamada . En esta función puede usar la solicitud POST o alguna lógica. Bibliotecas utilizadas: JQuery 3> y Bootstrap 3> .
https://jsfiddle.net/axnikitenko/gazbyv8v/
Código HTML para prueba:
Javascript:
fuente
Cuando se trata de un proyecto relevante relevante, es posible que necesitemos algo reutilizable . Esto es algo con lo que vine con la ayuda de SO.
confirmDelete.jsp
reusingPage.jsp
Nota: Esto utiliza el método de eliminación de http para la solicitud de eliminación, puede cambiarlo desde javascript o puede enviarlo utilizando un atributo de datos como en data-title o data-url, etc., para admitir cualquier solicitud.
fuente
Si quieres hacerlo en el atajo más fácil, entonces puedes hacerlo con este complemento .
Pero este complemento es una implementación alternativa que utiliza Bootstrap Modal . Y la implementación real de Bootstrap también es muy fácil, por lo que no me gusta usar este complemento porque agrega contenido JS en exceso en la página, lo que ralentizará el tiempo de carga de la página.
Idea
Me gusta implementarlo por mí mismo de esta manera.
Luego, en la ventana emergente, habrá 2 botones para confirmar.
El código será así (usando Bootstrap ):
Debe cambiar la acción del formulario de acuerdo con sus requisitos.
Feliz codificación :)
fuente
POST Receta con navegación a la página de destino y archivo Blade reutilizable
La respuesta de dfsq es muy buena. Lo modifiqué un poco para satisfacer mis necesidades: en realidad necesitaba un modal para el caso de que, después de hacer clic, el usuario también fuera navegado a la página correspondiente. Ejecutar la consulta de forma asincrónica no siempre es lo que uno necesita.
Usando
Blade
creé el archivoresources/views/includes/confirmation_modal.blade.php
:Ahora, usarlo es sencillo:
No ha cambiado mucho aquí y el modal se puede incluir así:
Simplemente poniendo el verbo allí, lo usa. De esta manera, CSRF también se utiliza.
Me ayudó, tal vez ayude a alguien más.
fuente