remote form
v0.4.3
Sebuah fungsi yang memungkinkan pengiriman formulir melalui AJAX.
Fungsi tersebut akan membuat permintaan berdasarkan formulir menggunakan window.fetch
dengan muatan yang dikodekan sebagai parameter URL jika metode formulir adalah GET
dan FormData
untuk semua metode lainnya.
Objek permintaan tersedia dalam fungsi panggilan balik, memungkinkan header dan isi diubah sebelum permintaan dikirim.
$ npm install --save @github/remote-form
import { remoteForm } from '@github/remote-form'
// Make all forms that have the `data-remote` attribute a remote form.
remoteForm ( 'form[data-remote]' , async function ( form , wants , request ) {
// Before we start the request
form . classList . remove ( 'has-error' )
form . classList . add ( 'is-loading' )
let response
try {
response = await wants . html ( )
} catch ( error ) {
// If the request errored, we'll set the error state and return.
form . classList . remove ( 'is-loading' )
form . classList . add ( 'has-error' )
return
}
// If the request succeeded we can do something with the results.
form . classList . remove ( 'is-loading' )
form . querySelector ( '.results' ) . innerHTML = response . html
} )
< form action =" /signup " method =" post " data-remote >
< label for =" username " > Username </ label >
< input id =" username " type =" text " >
< label for =" password " > Username </ label >
< input id =" password " type =" password " >
< button type =" submit " > Log in </ button >
< div class =" results " > </ div >
</ form >
Browser tanpa dukungan elemen kustom asli memerlukan polyfill.
npm install
npm test
Didistribusikan di bawah lisensi MIT. Lihat LISENSI untuk detailnya.