@K1NDER

Как сделать действие в JS?

Я сделал такой код, при нажатии на кнопку должно пройти действие в JS, но вместо этого форма обновляется.

<div class="btn-cont">
  <input class="btn-enter js-btn-auth" type="submit" value="Войти">
  <a class="btn-register  js-btn-register" href="registration.html">Регистрация</a>
</div>


authBtn.on('click', () => {
        mp.events.call('notify', 1, 9, 'Логин не соответствует формату или слишком длинный!', 3000);
        mp.gui.cursor.visible = false;
        let authData = $('#auth-form').toJSON();
        mp.trigger('signin', authData);
        localStorage['form_data'] = authData;
        return false;
    });


authBtn = $('.js-btn-auth');

Хотя такой же код регистрации работает, не могу понять в чем моя проблема.
  • Вопрос задан
  • 79 просмотров
Пригласить эксперта
Ответы на вопрос 1
kocherman
@kocherman
document.querySelector('form').addEventListener('submit', e=>{
e.preventDefault();
e.stopPropagation();
})


c jQuery чуть короче
$('#auth-form').on('submit',e=>{
/** После этих двух строк форма не будет перезаггружаться **/
e.preventDefault();
e.stopPropagation();
/*** ваше действие тут ***/

});


UPD. Забыл отметить, чтобы поставили кнопке аттрибут type="submit" и не трогали событие "click" у кнопки. Вам нужно событие отправки формы "submit", а не клик кнопки. Форма может быть отправлена, например по нажатию Enter.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы