Wie man das Alter aus einem Datumsauswahlfeld anzeigt

Einführung

Möchten Sie das Alter aus einem Datumsauswahlfeld in Ihrem Formular anzeigen? In dieser kurzen Anleitung zeigen wir Ihnen, wie Sie ein Formular erstellen, in dem das Geburtsdatum über ein Datumsauswahlfeld erfasst wird. Außerdem zeigen wir Ihnen, wie Sie JavaScript einsetzen können, um das Alter der Person mühelos zu berechnen und in einem anderen Abschnitt des Formulars anzuzeigen. Fahren wir mit der Schritt-für-Schritt-Anleitung fort!

Erstellen des Formulars

Beginnen wir damit, ein neues Formular zu erstellen und unsere Felder hinzuzufügen. Achten Sie darauf, dass Sie mindestens ein Datumsfeld einfügen.

Erstellen Sie Ihr Formular und fügen Sie alle Felder ein, darunter mindestens ein Datumsauswahlfeld.

Wenn Sie Hilfe bei der Erstellung Ihres Formulars benötigen, lesen Sie bitte diese Dokumentation.

Hinzufügen des HTML-Feldes

Da unser Ziel letztlich darin besteht, das Alter zu präsentieren, sobald der Geburtstag ausgewählt ist, fügen wir eine HTML Feld. In dieses Feld wird eine leere HTML-Spanne eingebettet, der die Klasse "Alter" zugewiesen wird. Dieser leere Bereich dient als Platzhalter, der das Alter dynamisch anzeigt, sobald das Datumsauswahlfeld die Auswahl des Benutzers erfasst.
<span class="age"></span>

ein Html-Feld hinzufügen und in dieses Feld einen leeren HTML-Span mit der Klasse age einfügen

Hinzufügen des Snippets

Jetzt ist es an der Zeit, das Snippet hinzuzufügen, das all dies zusammenfasst. Wenn Sie Hilfe benötigen, wie und wo Sie Snippets zu Ihrer Website hinzufügen können, lesen Sie bitte diese hilfreiche Anleitung.

/**
 * Calculate age based on date of birth date picker field
 *
 * @link https://wpforms.com/developers/how-to-display-the-age-from-a-date-picker-field/
 */
function wpf_dev_check_age() {
?>
 
<script>
    jQuery(function($) {
 
        // Update the 3535_9 to match the form and field ID 
        // of your form and date picker field
        window.wpforms_3535_9 = window.wpforms_3535_9 || {};
        window.wpforms_3535_9.datepicker = {
             
            mode: "single",
            onClose: function(selectedDates, dateStr, instance) {
				// Set the today date as the current date
 				var today = new Date();
				// Set the DOB as the selected date of birth from
				// the date picker field
				var DOB = selectedDates[0];
				// Get the age by subtracting today's date from
				// the selected date of birth
				var age = today.getTime() - DOB.getTime();
				// Add a string to the message that will appear
				// showing the age
				var message = 'Your age is ';
				// Calculate the date from the age into "years old" 
                age = Math.floor(age / (1000 * 60 * 60 * 24 * 365.25));
				// Assign the message and age into a variable
				var totalMessage = message.concat(age);
				// Display the message into the empty span of "age"
				// inside the HTML field
                jQuery('.age').text(totalMessage);
 
            }
 
        }
         
    });
</script>
 
<?php
}
 
add_action( 'wpforms_wp_footer', 'wpf_dev_check_age', 10 );

Dieses Snippet hat viele Kommentare, die jeden Schritt erklären. Aber es wird für das Formular ID 3535 und für das Datum Feld ID von 9 und wenn das Datum ausgewählt ist und das Datum Picker Popup schließt, wird es automatisch die Berechnung aus dem eingegebenen Datum, abzüglich des aktuellen Datums und formulieren diese Differenz in Jahren in unserem leeren HTML-Span mit einer Klasse von Alter anzuzeigen.

Für die Zwecke dieser Dokumentation lautet unsere Formular-ID 3535 und die Feld-ID für das Feld Datum 9. Sie müssen diese IDs im Snippet aktualisieren, damit sie mit Ihren eigenen Formular- und Feld-IDs übereinstimmen. Wenn Sie Hilfe bei der Suche nach Ihren IDs benötigen, sehen Sie sich bitte diese Dokumentation an.

Und das ist alles, was Sie brauchen, um das Alter aus einem Datumsauswahlfeld zu berechnen. Möchten Sie auch die Position des Popups der Datumsauswahl ändern? Schauen Sie sich das Tutorial How To Change the Position of the Date Picker Popup an.

Referenz

Referenz der Aktion: wpforms_wp_footer