• Olá pessoal,
    Gostaria de obter auxílio com um probleminha que estou tendo no meu site.
    Quando a pessoa se cadastra na minha newsletter e clica em “inscrever” o cadastro é realizado com sucesso, porem a página retorna para um formulário em branco.

    Gostaria de que fosse exibida uma msg…na pagina ou uma janelinha popup com a mensagem de sucesso.

    Segue o script da news:

    <p>De acordo com a nossa política de privacidade, garantimos que seus dados pessoais não serão digulgados à terceiros.</p>
    
    <script type="text/javascript">
    //<![CDATA[
    if (typeof newsletter_check !== "function") {
    window.newsletter_check = function (f) {
        var re = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-]{1,})+\.)+([a-zA-Z0-9]{2,})+$/;
        if (!re.test(f.elements["ne"].value)) {
            alert("Email Inválido!");
            return false;
        }
        if (f.elements["nn"] && (f.elements["nn"].value == "" || f.elements["nn"].value == f.elements["nn"].defaultValue)) {
            alert("Por favor preencha seu nome");
            return false;
        }
        if (f.elements["ns"] && (f.elements["ns"].value == "" || f.elements["ns"].value == f.elements["ns"].defaultValue)) {
            alert("Por favor preencha seu sobrenome");
            return false;
        }
        if (f.elements["ny"] && !f.elements["ny"].checked) {
            alert("Você precisa concordar com os termos de uso!");
            return false;
        }
        return true;
    }
    }
    //]]>
    </script>
    
    <div class="newsletter newsletter-subscription">
    <form method="post" action="http://www.carnivorasonline.com/wp-content/plugins/newsletter/do/subscribe.php" onsubmit="return newsletter_check(this)">
    
    <table cellspacing="0" cellpadding="3" border="0">
    
    <!-- first name -->
    <tr>
    	<th>Nome</th>
    	<td><input class="newsletter-firstname" type="text" name="nn" size="30"required></td>
    </tr>
    
    <!-- last name -->
    <tr>
    	<th>Sobrenome</th>
    	<td><input class="newsletter-lastname" type="text" name="ns" size="30"required></td>
    </tr>
    
    <!-- email -->
    <tr>
    	<th>Email</th>
    	<td align="left"><input class="newsletter-email" type="email" name="ne" size="30" required></td>
    </tr>
    
    <tr>
    	<td colspan="2" class="newsletter-td-privacy">
    		<input type="checkbox" name="ny" required> Concordo com os termos de uso deste site
    	</td>
    </tr>
    
    <tr>
    	<td colspan="2" class="newsletter-td-submit">
    		<input class="newsletter-submit" type="submit" value="Inscreva-me!"/>
    	</td>
    </tr>
    
    </table>
    </form>
    </div>

    Alguma alma caridosa e iluminada poderia me passar alguma dica de como fazer aparecer uma msg após o usuário clicar no botão???

    Muito obrigado!
    Abraços

Visualizando 2 respostas - 1 até 2 (de um total de 2)
  • alooha,

    quando vc clica no botão Inscreva-me o formulário manda os dados para esse arquivo: http://www.carnivorasonline.com/wp-content/plugins/newsletter/do/subscribe.php e é ele quem processa e retorna (ou não) alguma coisa.

    Poste aqui ou no pastebin.com o conteúdo desse arquivo e fica mais fácil ajudar.

    Criador do tópico alooha

    (@alooha)

    Oi Ricardo, primeiramente muito obrigado pela ajuda!

    Seguem dados do arquivo subscribe.php :

    <?php
    // Patch to avoid “na” parameter to disturb the call
    unset($_REQUEST[‘na’]);
    unset($_POST[‘na’]);
    unset($_GET[‘na’]);

    require_once ‘../../../../wp-load.php’;

    $user = NewsletterSubscription::instance()->subscribe();
    if ($user->status == ‘E’) NewsletterSubscription::instance()->show_message(‘error’, $user->id);
    if ($user->status == ‘C’) NewsletterSubscription::instance()->show_message(‘confirmed’, $user->id);
    if ($user->status == ‘S’) NewsletterSubscription::instance()->show_message(‘confirmation’, $user->id);

    Será muito difícil fazer isso? você me recomenda trocar de plugin?

    Abraços

Visualizando 2 respostas - 1 até 2 (de um total de 2)
  • O tópico ‘Ajuda com inserção de script’ está fechado para novas respostas.