Como ativar uma caixa de seleção após a leitura do aviso de isenção de responsabilidade

Introdução

Você gostaria de ativar uma caixa de seleção depois de ler um aviso de isenção de responsabilidade ou termos de serviço? Aprenda a aproveitar o potencial do recurso Enable Disclaimer / Terms of Service Display para campos de caixa de seleção. Esse recurso permite que os usuários expressem sua concordância com os termos de serviço. No entanto, se você quiser desativar esse campo até que os usuários tenham percorrido toda a sua isenção de responsabilidade, este tutorial foi feito sob medida para as suas necessidades!

Criando o formulário

Comece criando o formulário e adicionando os campos. Se precisar de ajuda para criar o formulário, consulte este guia útil.

Comece criando seu formulário e adicionando seus campos

Ativação dos Termos de Serviço

Depois de adicionar os outros campos, adicione um campo Checkbox e clique na guia Advanced (Avançado ). Nessa guia, você verá uma opção para Ativar a exibição de Isenção de responsabilidade / Termos de serviço. Ative essa opção e adicione seu texto ao campo Description (Descrição ).

marque a caixa de seleção e, na guia Advanced (Avançado), alterne a opção para Enable Disclaimer / Terms of Service Display (Ativar exibição de isenção de responsabilidade/termos de serviço)

Depois de ativada, clique novamente na guia General (Geral ) para adicionar seu texto à Description (Descrição).

O campo Descrição aceitará qualquer HTML básico, como cabeçalhos, tags p e links. Usamos cabeçalhos h2 em nossa isenção de responsabilidade para deixar cada seção clara.

adicione o texto à área Description do campo Checkbox, que aceitará HTML básico, como tags p, cabeçalhos e links.

Adicionando o snippet

Agora, é hora de adicionar o snippet ao seu site. Para obter ajuda sobre como e onde adicionar snippets ao seu site, consulte este tutorial.

/**
 * Disable checkbox until terms of service has been read
 *
 * @link https://wpforms.com/developers/how-to-enable-a-checkbox-after-reading-disclaimer/
 */
   
function wpf_dev_tos_confirmation( ) {
?>
  
<script type="text/javascript">
  
jQuery(document).ready( function() { 
     
    // Set an attribute on the checkbox description to readonly
    jQuery( "div#wpforms-3658-field_14-description" ).attr( "readonly","readonly" );
     
    // Set an attribute on the checkbox description to overflow-y scroll to check the scroll position
    jQuery( "div#wpforms-3658-field_14-description" ).attr( "overflow-y","scroll" );
     
    // Set an attribute on the checkbox field to disabled
    jQuery( "#wpforms-3658-field_14 input" ).attr( "disabled","true" );
     
    // As the user scrolls through the description, envoke this function
    jQuery( "div#wpforms-3658-field_14-description" ).scroll(function () {
 
        // Evaluate the scroll position inside the checkbox description 
        if (jQuery(this).scrollTop() == jQuery(this)[0].scrollHeight - jQuery(this).innerHeight() || jQuery(this).scrollTop() + jQuery(this).innerHeight() >= jQuery(this)[0].scrollHeight ) {
 
            // When user has scrolled to the bottom of the description, remove the disabled attribute
            jQuery( "#wpforms-3658-field_14 input" ).removeAttr( "disabled" );
 
        }
 
    });
     
});
  
</script>
  
<?php
}
  
add_action( 'wpforms_wp_footer_end', 'wpf_dev_tos_confirmation', 30 );

Este snippet examinará a descrição do Caixa de seleção usando o campo div#wpforms-3658-field_14-description. Nosso ID de formulário é 3658e nosso ID de campo para o Caixa de seleção campo é 14. Em seguida, ele definirá dois atributos nesse campo: somente leitura e overflow-y, scroll. Fazemos isso para poder calcular a posição de rolagem da descrição e saber quando os visitantes rolam até o final do aviso de isenção de responsabilidade.

A próxima seção do snippet adicionará um atributo de desativado no Caixa de seleção usando a ID de campo de #wpforms-3658-field_14 input.

À medida que o usuário rolar para baixo pela isenção de responsabilidade, calcularemos a posição da rolagem e, quando ela chegar a 0, removeremos o atributo disabled, e nossos visitantes poderão clicar na caixa de seleção para concordar.

No nosso exemplo, usamos um ID de formulário de 3658 e um ID de campo de 14. No entanto, você precisará atualizar esses IDs para que correspondam aos seus próprios números de ID. Se precisar de ajuda para encontrar seus números de identificação, consulte este tutorial.

Quando os visitantes visualizarem o formulário, eles não poderão concordar com a caixa de seleção de isenção de responsabilidade até que tenham rolado a tela até a parte inferior da isenção de responsabilidade.

E é isso! Gostaria de contar as seleções de caixas de seleção em seu formulário? Dê uma olhada em nosso artigo sobre Como contar as seleções de caixas de seleção dentro do formulário.

Referência da ação: wpforms_wp_footer_end