A modern, minimal JavaScript library that allows you to create dynamic web interfaces using HTML attributes.
<script src="https://unpkg.com/[email protected]"></script>
<button hx-get="/hello" hx-target="#result">Say Hi</button>
<div id="result"></div>
<!-- /hello response -->
<p>Hello from server</p>
<form hx-post="/submit" hx-target="#status">
<input name="name" />
<button type="submit">Send</button>
</form>
<div id="status"></div>
hx-include
<input id="user-id" name="id" />
<button hx-post="/update" hx-include="#user-id">Update</button>
hx-vals
<button hx-post="/save" hx-vals='{"id": 42, "active": true}'>Save</button>
document.body.addEventListener('htmx:afterSwap', (e) => {
console.log('Swap complete');
});
htmx:beforeRequest
htmx:afterSwap
htmx:responseError
<script src="https://unpkg.com/htmx.org/dist/ext/json-enc.js"></script>
<form hx-post="/api" hx-ext="json-enc"></form>