Example Page
Livesearch
Livesearch is one of the most common features on websites. Imagine a website with thousands of records and no search feature. It would be incredibly frustrating, wouldn’t it? XD. So, here we’ll create a Livesearch feature using Briz.js + Leaf.js.
Example
<!-- dont forget to load briz.js and leaf.js library in your project via cdn link -->
<form data-ajax data-scope="formSearch" action="/partials/livesearch" method="get"> <input data-action="input->search" type="text" name="search" placeholder="search here..." /></form>See the data-scope above? That’s a Leaf.js marker that says “this is the scope for formSearch.” Then, the data-action will execute the search function in the scope. After that, we’ll write it in a separate js file linked in the head tag.
//dont forget to import defineScope from Leaf.js cdn
defineScope("formSearch", ({ root, targets }) => { const input = targets.inputSearch let timeout
function search() { clearTimeout(timeout) timeout = setTimeout(() => { root.requestSubmit() }, 500) }
function disconnect() { clearTimeout(timeout) }
return { search, disconnect }})When the user finishes typing, the system will call the search() function and send root.requestSubmit() (root is <form>, and requestSubmit() is the function to submit the form) to the server. and to disconnect will run automatically when <form> is removed from the DOM.
Demo
- Hammer
- Hamburger
- Screwdriver
- Sushi
- Hand Saw
- Pizza
- Pliers
- Pasta
- Wrench
- Tacos
- Electric Drill
- Steak
- Hoe
- Ramen
- Shovel
- Lasagna
- Crowbar
- Burrito
- Chisel
- Pancakes
Go back