Mensagem após cadastro na newsletter



  • Bom dia, fiz esse código para que depois que a pessoa se cadastre na newsletter apareça uma mensagem personalizada, mas não esta funcionando direito, na verdade tem horas que funciona e outras não. Poderiam dar uma olhada e ver o que pode estar dando esse erro?

    function submit_form(){
            var input_verification = $('.bot_validation_block').val();
            if(input_verification == ""){
                var fullname = $("input[name=fullname]").val();
                var news_email = $("input[name=email]").val();
                    
                    $.post( "https://www.flaviadonadio.com.br/contact/newsletter_signup", { fullname: fullname, email: news_email } )
                      .done(function(data) {
                        if (data.success){
                            $('#modal-container #popup .modal-body').html('<h3>Você se cadastrou na nossa NEWSLETTER</h3><p>{{ template_settings('textarea:message_ok')|nl2br|replace({"\r": "", "\n": ""})|e }}</p><button type="button" class="close" data-dismiss="modal" aria-hidden="true"><i class="glyphicon glyphicon-remove"></i></button>');
                            console.log('ok');
                        } else {
                            alert(data.message);
                            del_cookie();
                            //location.reload();
                        }
                      })
                      .fail(function() {
                        alert( "error" );
                      });
    
             }else{
                alert('você não é um humano para enviar este formulário.');
                event.preventDefault();
             }
            }
    

  • Dev

    @torres-pedrohen tenta fazer a requisição seguindo esse modelo do ajax:

    var form = new FormData();
    form.append("fullname", "gabriel az");
    form.append("email", "gabrielaz@gmail.com");
    
    $.ajax({
      type: "POST",
      url: "https://www.flaviadonadio.com.br/contact/newsletter_signup",
      processData: false,
      contentType: false,
      data: form,
      success: function(data){
      	console.log(data);
      }
    });
    


  • @Gabriel-Azevedo usando esse modelo fica melhor, mas acontece que ele não previne o carregamento da página. A ideia é que assim que o cliente se cadastrar na newsletter, a mensagem seja exibida para ele dentro do modal, do modo que esta agora o cliente se cadastra e a página é recarregada.


  • Dev

    @torres-pedrohen sim, mas e se colocar dentro da sua função?



  • @Gabriel-Azevedo já foi colocado dentro da função, tentei alterar a forma de como é chamado o código, prevenir evento, mas nenhuma alternativa parou o recarregamento da página.


  • Dev

    @torres-pedrohen cara, consegui impedir colocando o atributo type="button" no button Cadastrar, faz isso e testa



  • @Gabriel-Azevedo Agora esta funcionando direito, obrigado pela ajuda.


Log in to reply