Email: Formular Serializer native JS

Beitrag lesen

problematische Seite

aber suchst Du vielleicht FormData()?

Nein. Ich habe vergessen den Enctype application/x-www-form-urlencoded zu nennen.

Dann suchst du vielleicht URLSearchParams.

Mit FormData kannst du eine Liste von Schlüssel-Werte-Paaren aus einem Formular erstellen.

Ja, schau mal: Eine FormData-Instanz kapselt die Daten eines Formulars im Enctype multipart/form-data. Wenn Du Schlüssel-Werte haben willst, dann geht das z.B. so:

    var fd = new FormData( document.forms[0] );
    for (const [key, value]  of fd.entries()) {
        console.log(key, " => " ,value);
    }

Das hab ich gerade eben getestet aber das war nicht meine Frage. Wenn Du das an URLSearchParams übergeben willst, müsstest Du noch die Funktion encodeURIComponent() auf die Werte anwenden.

Auch getestet:

    var fd = new FormData( document.forms[0] );
    var params = [];
    var q = new URLSearchParams();
    for (const [key, value]  of fd.entries()) {
        var hunt = { key: encodeURIComponent(value) };
        params.push(hunt);
        q.append( key, encodeURIComponent(value) )
    }

    console.log(q.toString()); // JSON.stringify(params, false, 1) );

MFG