protectDefault () не работает на запросе формы - PullRequest
0 голосов
/ 04 мая 2018

У меня есть следующая форма, которая обрабатывает скрипт восстановления пароля, запрошенный пользователем.

<form class="forget-form" id="forget-form" action="datacenter/functions/passwordRecovery.php" method="POST">
    <h3 class="font-green">Esqueceu sua senha?</h3>
    <p> Digite seu e-mail abaixo para receber o procedimento para uma nova senha.</p>
    <div class="form-group" style="margin-bottom:0px">
        <input class="form-control placeholder-no-fix" type="email" autocomplete="off" placeholder="Seu e-mail" name="email" id="email" required/>
    </div>

    <div class="form-actions">
        <button type="button" id="back-btn" class="btn red btn-outline uppercase"><i class="fa fa-chevron-circle-left"></i> voltar</button>
        <button type="submit" class="btn btn-success uppercase pull-right uppercase"><i class="fa fa-paper-plane"></i> enviar</button>
    </div>
</form>

Для этого я использую ajax, чтобы держать пользователя на том же экране без какого-либо перенаправления.

$("#forget-form").submit(function(e){
    e.preventDefault();
    var email = $("#email").val();
    if(isEmail(email) == true){
        $.ajax({
            url: 'datacenter/functions/passwordRecovery.php',
            type: 'POST',
            data: new FormData(this),
            async: true,
            contentType: false,
            processData: false,
            success: function(data){
                console.log(data);
            },
            error: function(error, errorThrown, errorShowcase){
                console.log(data);
            }
        });
    } else {
        console.log('this is not an email');
    }
});

Файл passwordRecovery.php только echo "success"; для входа в консоль, просто чтобы проверить, действительно ли он работает, и работает ли он, но слишком быстро, он входит в консоль и после этого перенаправляет меня на passwordRecovery.php, не мешает действию формы по умолчанию.

Вы когда-нибудь сталкивались с этим?

1 Ответ

0 голосов
/ 05 мая 2018

Вы можете попробовать это:

$('#forget-form').submit(function () {
//your code
return false;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...