为什么启用和禁用按钮不起作用?

时间:2017-10-23 09:40:05

标签: javascript php jquery html forms

我正在尝试仅在用户在文本框中输入正确的验证码(显示为图像)值时才为表单启用提交按钮。 captcha是文本框的id。

对于此文本框中的每个键,都会有一个AJAX请求被发送到名为ErrorProcessing.php的文件。然后它将提供一个HTML变量"wrong text entered"null。然后,仅基于该值启用提交按钮。这有效。

但问题是,对于该文本框的每个键,提交按钮首先启用,然后被禁用。最后还可以。但是,如果HTML变量为null,我试图摆脱为每个键启用提交按钮。其余代码没问题。 register-submit2是提交按钮的ID。任何人都可以帮助我吗?

$(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');
        }
      }
    });
  });
});

1 个答案:

答案 0 :(得分:3)

使用不带引号的true/false。字符串形式将被视为真实。

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

或者您可以跳过if使用

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