Comment compter les sélections de cases à cocher dans votre formulaire

Introduction

Souhaitez-vous compter les sélections de cases à cocher dans votre formulaire ? Avec un petit extrait, vous pouvez faire en sorte que votre formulaire affiche automatiquement un décompte des sélections qui augmente et diminue au fur et à mesure que chaque sélection est effectuée. Dans ce tutoriel, nous allons vous guider à travers chaque étape pour y parvenir.

Création du formulaire

Tout d'abord, vous devez créer un nouveau formulaire et y ajouter votre champ "case à cocher". Si vous avez besoin d'aide pour créer votre formulaire, veuillez consulter cette documentation.

commencez par créer votre formulaire, en ajoutant vos champs, dont au moins un champ à cocher

Ajout d'un champ contenant le décompte des sélections de cases à cocher

Nous allons maintenant ajouter un champ à votre formulaire qui contiendra le décompte au fur et à mesure des sélections.

Nous allons ajouter un champ de formulaire Texte à ligne unique qui contiendra le décompte dans votre formulaire.

ajoutez un champ de texte d'une seule ligne à votre formulaire pour contenir le nombre de sélections de la case à cocher

Ajouter le snippet à votre site

Il est maintenant temps d'ajouter à votre site le snippet qui mettra à jour le décompte au fur et à mesure que les sélections seront cochées et décochées.

Si vous avez besoin d'aide pour ajouter des snippets à votre site, consultez ce tutoriel.

/*
 * Count checkbox selections
 *
 * @link  https://wpforms.com/developers/how-to-count-checkbox-selections-inside-your-form/
 */

function wpf_dev_checkbox_count() {
    ?>
    <script type="text/javascript">
		(function($) {
			
			//Count the checkbox selections on field ID 25 for the form ID 374
			var $checkboxes = $( '#wpforms-374-field_25 input[type="checkbox"]' );
			
			$checkboxes.change(function(){
				
				var countCheckedCheckboxes = $checkboxes.filter(':checked').length;
				
				//Add the count to the field ID 27 for the form ID 374
				$( '#wpforms-374-field_27' ).val(countCheckedCheckboxes);
				
			});
		})(jQuery);	
    </script>
    <?php
}
add_action( 'wpforms_wp_footer_end', 'wpf_dev_checkbox_count', 10 );

Ce snippet devra avoir l'ID de formulaire 374 pour correspondre à l'ID de formulaire pour lequel vous exécuterez ce snippet.

Dans le snippet, vous verrez également les champs field_25 et field_27 qui sont les ID des champs Checkbox et Single Line Text du formulaire.

Si vous avez besoin d'aide pour trouver les identifiants de vos formulaires et de vos champs, consultez ce tutoriel.

Après avoir suivi toutes ces étapes, au fur et à mesure que vos visiteurs sélectionnent les cases à cocher, le décompte se met à jour dynamiquement dans le champ.

vous pouvez maintenant voir le nombre de changements dans les cases à cocher au fur et à mesure qu'ils sont effectués

Et c'est tout ce dont vous avez besoin ! Vous souhaitez utiliser des étiquettes intelligentes pour vos cases à cocher ? Jetez un coup d'œil à notre tutoriel sur la façon de traiter les étiquettes intelligentes dans les cases à cocher.

Référence de l'action : wpforms_wp_footer_end

FAQ

Q : Puis-je obtenir un total à partir de l'étiquette de la case à cocher pour tous les champs à cocher d'un même formulaire ?

R : Tout à fait. Dans cet exemple, nous voulons seulement obtenir le nombre de fois où l'étiquette Agree a été sélectionnée dans toutes les cases à cocher de ce formulaire. Pour ce faire, utilisez plutôt cet extrait. Il vous suffit de modifier le texte Agree pour qu'il corresponde au texte que vous recherchez et de mettre à jour vos ID de formulaire et de champ pour votre propre site. Si vous avez besoin d'aide pour trouver vos identifiants de formulaire et de champ, veuillez consulter ce tutoriel.

/*
 * Count checkbox selections with the label Agree
 *
 * @link  https://wpforms.com/developers/wpforms_frontend_output_success/ 
 */
 
function wpf_dev_checkbox_count() {
    ?>
    <script type="text/javascript">
        (function($) {
			
			//Count all the checkbox selections in the form ID 374
            var $checkboxes = $( '#wpforms-form-374 input[type="checkbox"]' );
             
            $checkboxes.change(function(){
                
				let total = 0;
				$checkboxes.each( function( index ) {
					
					// Look for any checkboxes on this form field that are checked and also match the word Agree and count them
					if( $(this).is(":checked") && $(this).next().text() == "Agree" ) {
					   total ++;
					}
					
				});
				
                //Add the count to the field ID 27 for the form ID 374
                $( '#wpforms-374-field_27' ).val(total);
                 
            });
        })(jQuery); 
    </script>
    <?php
}
add_action( 'wpforms_wp_footer_end', 'wpf_dev_checkbox_count', 10 );