Como criar um formulário de classificação condicional

Estaria interessado em criar um formulário de classificação condicional utilizando menus pendentes? Com o complementoSurvey and Polls, já está equipado para gerar um formulário que recolhe as opiniões dos visitantes e lhes permite votar em vários aspectos.

No entanto, para efeitos de documentação, pretendemos conceber um formulário que permita aos utilizadores atribuir prioridades às caraterísticas com base em valores numéricos. Dado o sistema numérico de atribuição de prioridades, é essencial evitar a duplicação de números de prioridade para diferentes caraterísticas escolhidas pelos nossos visitantes.

Neste tutorial, vamos construir o nosso formulário de classificação utilizando um breve fragmento de código que elimina um número de prioridade se este já tiver sido selecionado. Isso garante que possamos tomar decisões criteriosas com base nas prioridades expressas por nossos clientes.

Criar o formulário

Vamos começar por criar um novo formulário e integrar os campos necessários. O nosso formulário será composto por um campo Nome, um campo Email opcional e cinco campos Dropdown, cada um apresentando caraterísticas para classificação.

Para obter ajuda na criação do seu formulário, pode consultar este guia útil sobre a criação do seu formulário inicial.

comece por criar o seu formulário e adicionar os seus campos, incluindo os campos de lista pendente

Definir as opções do campo pendente

Agora, para os nossos campos suspensos, precisamos de passar por cada um deles e adicionar o nosso sistema de classificação. Para fins desta documentação, nossas classificações são baseadas numericamente de 1 a 10, o que significa que 1 é a opção menos favorita e 10 é a mais alta.

Pode, naturalmente, utilizar o sistema que melhor lhe convier, quer seja numérico ou de texto.

adicione as opções que pretende que os seus visitantes seleccionem quando classificarem as suas caraterísticas

Selecionar o estilo do menu pendente

No separador Avançadas do campo Dropdown, não se esqueça de selecionar o estilo Clássico para os seus campos. Isso é muito importante, pois o snippet funcionará com esse estilo.

no separador Avançadas, selecione Clássico para o estilo, uma vez que o excerto só funcionará com o estilo Clássico

Criar a lógica de classificação condicional

Agora é hora de adicionar o snippet ao seu site. Se precisar de ajuda para saber onde e como adicionar snippets ao seu site, consulte este tutorial.

/**
 * WPForms Conditional Rating Form
 *
 * @link   https://wpforms.com/developers/how-to-create-a-conditional-rating-form/
 */

function wpf_dev_conditional_dropdown_options( ) {
?>
   
    <script type="text/javascript">
	
	// only run on dropdown fields inside the form ID 2552
	jQuery( 'form#wpforms-form-2552 select' ).on( 'change', function() {
		
		jQuery( 'option' ).prop( 'disabled', false);
		
		jQuery( 'select' ).each(function() {
			
			var val = this.value;
			
			jQuery( 'select' ).not(this).find( 'option' ).filter(function() {
				
				return this.value === val;
				
			}).prop( 'disabled', true);
			
		});
		
	}).change();
		
    </script>
   
<?php
}
   
add_action( 'wpforms_wp_footer_end', 'wpf_dev_conditional_dropdown_options', 30 );

Este snippet de código procurará campos Dropdown no formulário identificado pelo ID 2552. Quando uma opção é escolhida num dos campos, essa opção específica fica indisponível para seleção nos restantes campos.

Certifique-se de que actualiza o campo ID 2552 para corresponder ao ID do seu formulário. Se precisar de ajuda para localizar o seu ID, consulte este tutorial sobre como encontrar estes IDs específicos.

Agora, à medida que as opções são selecionadas, pode observá-las a ficarem desactivadas nos outros campos.

à medida que as selecções são feitas no seu menu pendente, pode vê-las ficarem desactivadas nos outros campos

E é isso! Você criou com sucesso um formulário de classificação condicional usando os campos WPForms Dropdown. Você gostaria de ocultar condicionalmente seu botão de envio com base nas respostas fornecidas em seu formulário? Confira nosso tutorial sobre Como mostrar condicionalmente o botão Enviar.

Ação de referência

wpforms_wp_footer_end

FAQ

P: Como é que posso repor as opções?

R: Se um utilizador mudar de ideias em relação a qualquer opção, basta voltar atrás e fazer novas selecções, o que reporia os valores pré-selecionados.

P: A lógica condicional pode ser utilizada para mostrar e ocultar o menu pendente?

R: Com certeza! Pode utilizar a lógica condicional do WPForms para ocultar todo e qualquer menu pendente até que seja feita uma seleção. É necessário certificar-se de que, ao adicionar essa lógica, verifique e teste a lógica necessária para aplicar, por exemplo, o Recurso 2 está oculto desde que o Recurso 1 não seja -Selecione um -.

opções de lógica condicional