Wie
form.submit(), aber ajaxiert. Leicht, modern, versprochen, nutztfetch
Anstatt einen Seitenladevorgang zu verursachen, wie dies bei form.submit() der Fall ist, können Sie pushForm(form) verwenden, um ein Formular per fetch zu senden. Es liest mithilfe moderner APIs automatisch alle Felder aus und führt die Anfrage genau so aus, wie es in den form beschrieben ist.
npm install push-form
// This module is only offered as a ES Module
import pushForm from 'push-form' ; Gegeben ein reguläres Formelement:
< form action =" submissions.php " type =" post " >
First name < input name =" firstname " required /> < br />
Last name < input name =" lastname " required /> < br />
Passport < input name =" passport " type =" file " required />
< button > Submit </ button >
</ form > Sie können es per fetch posten mit:
import pushForm from 'push-form' ;
const form = document . querySelector ( 'form' ) ;
form . addEventListener ( 'submit' , async event => {
event . preventDefault ( ) ;
const response = await pushForm ( ) ;
if ( response . ok ) {
alert ( 'Thanks for your submission!' ) ;
}
} ) ; Oder verwenden Sie ajaxifyForm , damit die Benutzerübermittlung automatisch verarbeitet wird:
import { ajaxifyForm } from 'push-form' ;
const form = document . querySelector ( 'form' ) ;
ajaxifyForm ( form , {
onSuccess : ( ) => { /* ✅ */ } ,
onError : ( ) => { /* */ } ,
} ) ; Gibt ein Promise zurück, das genau wie fetch mit einer Response aufgelöst wird.
Typ: HTMLFormElement
Das Formular zum Absenden. Seine action und method werden zum Erstellen der HTTP-Anfrage verwendet.
Typ: object
Beispiel: {headers: {Accept: 'application/json'}}
Dies entspricht dem zweiten Parameter von fetch , jedoch werden der body und method mit den Angaben des form in seinen Attributen überschrieben.
Stoppt das submit -Ereignis eines Formulars und verwendet stattdessen pushForm . Dadurch wird eine function zurückgegeben, die Sie aufrufen können, um den submit Handler zu entfernen.
Das Gleiche wie in pushForm
Typ: object
Optionale Übermittlungs-/Fehlerhandler und Konfiguration für den fetch .
Typ: function
Beispiel: (fetchResponse) => {alert('The form was submitted!')}
Es wird aufgerufen, wenn fetch die Anfrage stellt und der Server eine erfolgreiche Antwort ( response.ok ) zurückgibt.
Typ: function
Beispiel: (error) => {alert('Something happened:' + error.message)}
Es wird aufgerufen, wenn fetch der Anfrage fehlschlägt oder der Server eine Fehlerantwort zurückgibt ( response.ok === false ).
Dasselbe wie in pushForm .
querySelector / All -Wrapper, der ein Array ausgibt.DocumentFragment oder ein Element in wenigen Bytes.