Почему включение и отключение кнопки не работает?

88
6

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


Для каждого ключа в этом текстовом поле будет запрос AJAX, который отправляется в файл с именем ErrorProcessing.php. Затем он предоставит переменную HTML, которая либо "wrong text entered", либо null. Кнопка отправки затем включается только на основе этого значения. Это работает.


Однако проблема заключается в том, что для каждого ключа на этой кнопке отправки текстового поля сначала становится включенным, а затем отключается. В конце концов, все в порядке. Но я пытаюсь избавиться от включения кнопки отправки для каждого ключа, если переменная HTML null. Остальная часть кода в порядке. register-submit2 - это идентификатор кнопки отправки. Может ли кто-нибудь мне помочь?


$(document).ready(function() {
$("#captcha").keyup(function(e) {
var captcha = $("#captcha").val();
var datastring = 'captcha=' + captcha;

$.ajax({
type: "POST",
url: "my_url/ErrorProcessing.php",
data: datastring,
success: function(html) {
if (html == "wrong text entered") {
$('#register-submit2').prop('disabled', 'true');
} else {
$('#register-submit2').prop('disabled', 'false');
}
}
});
});
});

спросил(а) 2021-01-25T16:38:57+03:00 4 месяца, 4 недели назад
1
Решение
88

Используйте true/false без кавычек. Строковая форма будет считаться верной.


$('#register-submit2').prop('disabled', false);

Или вы можете пропустить, если используете


$('#register-submit2').prop('disabled', html == "wrong text entered");

ответил(а) 2021-01-25T16:38:57+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема