javascript - 如何使用javascript启用和禁用按钮

标签 javascript jquery jquery-ui

我们正在使用 MVC 弹出模型,其中有两个文本框 SSN 号码和 DOB(出生日期),我正在为 DOB 使用 datepicker 日历,它是只读文本框,对于 SSN 号码,我手动将号码放在文本中盒子。当 SSN 号码和 DOB 都正确时,我已经编写了以下代码以启用下一步按钮。但是下面的代码无法正常工作,首先我输入了 SSN 号码,当我使用日历选择 DOB 时,下一步按钮未启用,请帮我解决这个问题。

$("#SocialSecurityNumber").blur(function () {

        if ($("#SocialSecurityNumber").val().length == 11 && $("#DateofBirth").val() != '') {
            $("#nextSubmit").removeAttr("disabled");
            $("#nextSubmit").removeClass("btn-default").addClass("btn-primary");
        }
        else {

            $("#nextSubmit").attr("disabled", true);
            $("#nextSubmit").removeClass("btn-primary").addClass("btn-default");

        }

    });

    $("#SocialSecurityNumber").keyup(function () {
        if ($("#SocialSecurityNumber").val().length == 11 && $("#DateofBirth").val() != '') {
            $("#nextSubmit").removeAttr("disabled");
            $("#nextSubmit").removeClass("btn-default").addClass("btn-primary");
        }
        else {

            $("#nextSubmit").attr("disabled", true);
            $("#nextSubmit").removeClass("btn-primary").addClass("btn-default");

        }

    });


    $("#DateofBirth").blur(function () {

        if ($("#DateofBirth").val() !='' && $("#SocialSecurityNumber").val().length == 11) {
            $("#nextSubmit").removeAttr("disabled");
            $("#nextSubmit").removeClass("btn-default").addClass("btn-primary");
        }
        else {

            $("#nextSubmit").attr("disabled",true);
            $("#nextSubmit").removeClass("btn-primary").addClass("btn-default");

        }

    });

    $("#DateofBirth").keyup(function () {
        if ($("#SocialSecurityNumber").val().length == 11 && $("#DateofBirth").val() != '') {
            $("#nextSubmit").removeAttr("disabled");
            $("#nextSubmit").removeClass("btn-default").addClass("btn-primary");
        }

        else {

            $("#nextSubmit").attr("disabled",true);
            $("#nextSubmit").removeClass("btn-primary").addClass("btn-default");

        }
    });

谢谢, 桑迪普

最佳答案

在 jquery 中,这是禁用按钮的方式

$('#id_of_the_button').prop('disabled', true);

启用按钮

$('#pc_add').prop('disabled', false);

在你的 html 中,按钮应该是这样的

<button id="id_of_the_button"> text of the button </button>

在这里回答你的问题你应该如何实现你的html文件

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js">
</script>
<script>
$(document).ready(function(){
     $("#SocialSecurityNumber").keyup(function() {
     if ($("#SocialSecurityNumber").val().length == 11 && $("#DateofBirth").val() != '') {
        $("#nextSubmit").prop('disabled', false);
      } else {
        $("#nextSubmit").prop('disabled', true);
      }
    });

    $('#DateofBirth').change(function() {
         if ($("#SocialSecurityNumber").val().length == 11 && $("#DateofBirth").val() != '') {
         $("#nextSubmit").prop('disabled', false);
        }else {
            $("#nextSubmit").prop('disabled', true);
        }
    });
});


</script>
</head>
<body>

<h2>This is a heading</h2>
  <form>
    <input type="text" id="SocialSecurityNumber" />
    <input type="date" id="DateofBirth" />
    <button id="nextSubmit" disabled="disabled" class="btn btn-default">Submit</button>
  </form>

</body>

</html>

关于javascript - 如何使用javascript启用和禁用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50869498/

相关文章:

javascript - 如何调用私有(private)函数?

javascript - 将鼠标悬停以暂停选取框

javascript - 如果父 hasClass() 则防止链接默认

jquery - 重试 jquery ajax 请求,该请求已附加到其延迟的回调

javascript - jQuery 调整已使用 css 定位的元素的大小在 chrome 中无法正确调整大小

javascript - JQueryUI Draggable "Object doesn' t 支持此属性或方法"当包含 jquery-ui 时

javascript - 调整浏览器窗口大小时更改图像

javascript - 确定滚动移动

jquery-ui 选项卡内容溢出容器

api - 使用 google place api 和 jQuery 自动完成