Über Web, Tech, Games, Art,
Code & Design

7. August 2023

Mit der jQuery-Funktion „serialize()“ alle Formularfelder auf einmal auslesen

Die jQuery-Funktion „serialize()“ erleichtert die Übergabe von Formular-Eingaben, insbesondere bei sehr umfangreichen Formularen, an PHP enorm! Statt jedes Formularfeld einzeln in eine JS-Variable zu übergeben, werden mit „form.serialize()“ einfach alle Inhalte des Formulars in einer Variable gespeichert, die dann an das PHP-Script übergeben werden kann.

var form = $('#form');

form.submit(function(event) {

    event.preventDefault();

    var form_data = new FormData();
    form_data.append('form_data_string', form.serialize());

    $.ajax({
            url: 'handledata.php',
            type: 'POST',
            contentType: false,
            processData: false,
            data: form_data,
            beforeSend: function(xhr) {
                $('.btn_sendform').text('wird gesendet...');
            },
            success: function(data) {
                /* console.log(data); */
            }
        })
        .done(function() {
            $('.btn_sendform').prop('disabled', true).text('erfolgreich gesendet');
            $('input').attr('readonly', true);
            $('.btn_sendform').hide();
            $('#success').fadeIn(250);
            $('#form').css('opacity', 0.3);
        })
        .always(function() {
        /* console.log("Erfolgreich gesendet"); */     
    });

    });
   Code-Sprache: JavaScript (javascript)

In PHP kann die Eingabezeichenkette dann wieder ganz einfach in einzelne Variablen geteilt werden.

parse_str( $_POST["form_data_string"], $form_data);
$adress = htmlspecialchars($form_data["adress"], ENT_QUOTES);Code-Sprache: PHP (php)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert