A handy utility in htmx is hx-confirm which allows you to let the user confirm an action.
For example you have a delete button to delete an item in a list, and you don’t want the user to lose data if accidentally pressing the button.
So you add hx-confirm, adding some confirmation text:
<ul>
{tasks.map(task =>
<li>
Task: {task.name}
<button
hx-confirm="Are you sure?"
hx-target="closest li"
hx-swap="outerHTML"
hx-delete={`/task/${task.id}`}>
Delete
</button>
</li>
)}
</ul>
(Notice I used some Astro templating to print the tasks list, to show you how I used this feature).
You can also ask for some information to the user in a prompt, using hx-prompt:
<button hx-delete="/project" hx-prompt="Enter the project name to confirm">
Delete project
</button>
This information is sent in the HX-Prompt HTTP request header.
Lessons in this unit:
| 0: | Introduction |
| 1: | Why htmx |
| 2: | The core idea of htmx |
| 3: | Installing htmx |
| 4: | Doing a GET request |
| 5: | Swap |
| 6: | POST request |
| 7: | Targets |
| 8: | Loading indicator |
| 9: | ▶︎ Confirming actions, and prompts |
| 10: | Triggers |
| 11: | Request headers |
| 12: | Response headers |
| 13: | Events |