Come visualizzare l'età da un campo di selezione della data

Introduzione

Volete visualizzare l'età da un campo di selezione della data nel vostro modulo? In questa guida concisa, vi guideremo nella creazione di un modulo che raccoglie la data di nascita attraverso un campo date picker. Inoltre, dimostreremo come sfruttare JavaScript per calcolare e mostrare senza sforzo l'età della persona in un'altra sezione del modulo. Procediamo con le istruzioni passo-passo!

Creazione del modulo

Iniziamo creando un nuovo modulo e aggiungendo i nostri campi. Assicurarsi di includere almeno un campo Data.

creare il modulo e aggiungere tutti i campi, compreso almeno un campo per la selezione della data

Se avete bisogno di aiuto per creare il vostro modulo, consultate questa documentazione.

Aggiunta del campo HTML

Poiché il nostro obiettivo finale è quello di presentare l'età una volta selezionata la data di nascita, aggiungiamo un parametro HTML campo. All'interno di questo campo, incorporeremo uno span HTML vuoto, a cui verrà assegnata la classe "età". Questo span vuoto servirà come segnaposto, che mostrerà l'età dinamicamente non appena il campo di selezione della data catturerà la selezione dell'utente.
<span class="age"></span>

aggiungere un campo html e all'interno di questo campo aggiungere uno span HTML vuoto con una classe di età

Aggiunta dello snippet

Ora è il momento di aggiungere lo snippet che riunirà tutto questo. Se avete bisogno di aiuto su come e dove aggiungere gli snippet al vostro sito, consultate questa utile guida.

/**
 * 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 );

Questo snippet contiene molti commenti che spiegano ogni passaggio. Ma cercherà l'ID del modulo 3535 e l'ID del campo Data di 9 e quando la data viene selezionata e il popup di selezione della data si chiude, effettuerà automaticamente il calcolo dalla data inserita, meno la data corrente e formulerà questa differenza in anni da visualizzare nel nostro span HTML vuoto con una classe di età.

Ai fini di questa documentazione, il nostro ID modulo è 3535 e l'ID campo per il campo Data è 9. È necessario aggiornare questi ID nello snippet per farli corrispondere ai propri ID modulo e campo. Se avete bisogno di aiuto per trovare i vostri ID, consultate questa documentazione.

Questo è tutto ciò che serve per calcolare l'età da un campo di selezione della data. Volete anche cambiare la posizione del popup del selezionatore di date? Date un'occhiata al tutorial su Come cambiare la posizione del popup del selezionatore di date.

Riferimento

Riferimento azione: wpforms_wp_footer