Задать вопрос
@deespe1

Как не отправлять форму, если значение ложное?

Есть простая капча с вводом суммы двух чисел

var a = Math.ceil(Math.random() * 10);
var b = Math.ceil(Math.random() * 10);
var c = a + b;

function captcha(){
document.getElementById('text').innerHTML='Сколько будет ' + a + ' + ' + b + '?';
}

function checkCaptcha(){
var d = document.getElementById('captchaEdit').value;

if(d == c) {
return true;
}
else {
return false;
}
}


Она возвращает или правда или ложь. Как мне прикрутить ее на форму правильно, чтобы она не отправлялась при значение false.


onsubmit="return checkCaptcha();"



На кнопке добавить такое не помогает
  • Вопрос задан
  • 142 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
zoozag
@zoozag
Opencart
onsubmit вешается на форму.
Плюс надо добавить event.preventDefault(); в функцию сheckCaptcha()
Ответ написан
Комментировать
Krasnodar_etc
@Krasnodar_etc
fundraiseup
Есть же кнопка "Отправить" ? По клику на неё проверяете форму через капчу. Если true - только тогда submit
Ответ написан
Menlod
@Menlod
Front-end developer
let frm = document.querySelector('.frm'); // .frm = класс формы
    frm.addEventListener('submit', function(e){
        e.preventDefault();
        return checkCaptcha();
    });
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы