+++ title = "A Customized Confirmation UI" template = "demo.html" +++ htmx supports the [`hx-confirm`](@/attributes/hx-confirm.md) attribute to provide a simple mechanism for confirming a user action. This uses the default `confirm()` function in javascript which, while trusty, may not be consistent with your applications UX. In this example we will see how to use [sweetalert2](https://sweetalert2.github.io) to implement a custom confirmation dialog. Below are two examples, one using a click+custom event method, and one using the built-in `hx-confirm` attribute and the [`htmx:confirm`](@/events.md#htmx:confirm) event. ## Using on click+custom event ```html ``` Here we use javascript to show a Sweet Alert 2 on a click, asking for confirmation. If the user confirms the dialog, we then trigger the request by triggering the custom "confirmed" event which is then picked up by `hx-trigger`. ## Vanilla JS, hx-confirm ```html ``` We add some javascript to invoke Sweet Alert 2 on a click, asking for confirmation. If the user confirms the dialog, we trigger the request by calling the `issueRequest` method. We pass `skipConfirmation=true` as argument to skip `window.confirm`. This allows to use `hx-confirm`'s value in the prompt which is convenient when the question depends on the element e.g. a django list: ```html {% for client in clients %} {% endfor %} ``` Learn more about the [`htmx:confirm`](@/events.md#htmx:confirm) event [here](@/events.md#htmx:confirm).