Latihan 1 dari materi Extensions HTMX di HTMX — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Kode awal punya <form hx-post="/api/data" hx-target="#result"> dengan dua input (nama dan email) dan tombol Kirim JSON, <div id="result">, dan dua contoh balasan server. Server contohnya menjawab beda tergantung Content-Type yang sampai: application/json dijawab Diterima sebagai JSON, selain itu Diterima sebagai form biasa. Biarkan semuanya, lalu:
Di baris paling atas, muat extension-nya: <script src="https://unpkg.com/[email protected]"></script>. htmx intinya sudah dimuat halaman latihan.
Tambahkan hx-ext="json-enc" di <form> yang sama, supaya isinya dikirim sebagai JSON.
Klik Kirim JSON di pratinjau. Log pratinjau mencatat request-nya bersama Content-Type dan isinya.
Yang dicek:
Ada tag <script> yang src-nya memuat htmx-ext-json-enc.
hx-ext di <form> memuat json-enc (extension lain boleh ikut, dipisah koma), dan hx-post-nya persis /api/data.
<form> punya hx-target yang gak kosong, dan id yang ditunjuknya benar-benar ada di halaman (#result).
Sesudah tombol submit diklik, #diterima berbunyi persis Diterima sebagai JSON. Tanpa extension-nya, form terkirim form-encoded dan dijawab Diterima sebagai form biasa.
Hint
Extension butuh dua hal: file script-nya dimuat di halaman, lalu dinyalakan lewat satu atribut di elemen yang memakainya.
Muat `https://unpkg.com/[email protected]` dengan tag `<script src>` di atas form, lalu tambahkan `hx-ext="json-enc"` di tag `<form>`, di samping `hx-post` dan `hx-target` yang sudah ada.