xhr-form
Create an asynchronous form element with custom elements. wip, does not work as advertised yet.
Installation
$ npm install xhr-form
Usage
document.registerElement('xhr-form', require('../'))
const form = domify(`
<form is="xhr-form" action="/api/yosh/wow">
<input type="text" name="something"></input>
<input type="submit">submit</input>
</form>
`)
document.body.appendChild(form)
// as a callback
form.addEventListener('xhr', function (e, submit) {
console.log(e.data)
submit(e.data, function (err, res) {
if (err) return console.error(err)
console.log('submission done', res)
})
})
// as a promise
form.addEventListener('xhr', function (e, submit) {
console.log(e.data)
submit(e.data)
.then(res => console.log('submission done', res))
.catch(err => console.log(err))
})
})
See Also
- whatwg-fetch - A window.fetch JavaScript polyfill
- async-form-element - Progressively enhances a form element to submit via XHR