代码之家  ›  专栏  ›  技术社区  ›  FIFA oneterahertz

密码值为空时如何禁用消息

  •  0
  • FIFA oneterahertz  · 技术社区  · 7 年前

    我当时正在做密码匹配的概念,当我输入密码时,它工作得很好,显示“密码匹配”或“密码不匹配”。但这是个问题,或者可以说是bug之类的东西。当您的密码匹配,然后突然删除框中的两个密码时,它仍然显示“密码匹配”或“密码不匹配”。为了更好地理解,我张贴了一张的图片。

    enter image description here

    因此,当两个密码都为空时,如何隐藏或删除“密码不匹配或密码匹配”注释。我把下面的代码贴在我做的事情上

    HTML

    <p>
        <input type="password" name="NPassword" placeholder="New Password" id="txtNewPassword" />
    </p>
    <input type="password" name="RNPassword" placeholder="Retype New Password" id="txtConfirmPassword" onChange="isPasswordMatch();" />
    <div id="divCheckPassword"></div>
    

    javascript

    function isPasswordMatch() {
        var password = $("#txtNewPassword").val();
        var confirmPassword = $("#txtConfirmPassword").val();
    
        if (password != confirmPassword) $("#divCheckPassword").html("Passwords do not match!");
        else $("#divCheckPassword").html("Passwords match.");
    
    
    }
    
    $(document).ready(function () {
        $("#txtConfirmPassword").keyup(isPasswordMatch);
    });
    
    4 回复  |  直到 7 年前
        1
  •  1
  •   workoverflow    7 年前

    您应该添加一个测试来检查密码字段是否为空。

    function isPasswordMatch() {
        var password = $("#txtNewPassword").val();
        var confirmPassword = $("#txtConfirmPassword").val();
    
        if (password != confirmPassword) $("#divCheckPassword").html("Passwords do not match!");
        else if ((password ==  "") || (confirmPassword == "")) $("#divCheckPassword").html("Please fill both password fields"); 
        else $("#divCheckPassword").html("Passwords match.");
    
    
    }
    
    $(document).ready(function () {
        $("#txtConfirmPassword").keyup(isPasswordMatch);
    });
    

    或使用 $("#divCheckPassword").html(""); 而不是 $("#divCheckPassword").html("Please fill both password fields"); 清除信息。

        2
  •  1
  •   visorvice1    7 年前

    添加检查密码文本框是否为空或是否已填充的复选框。如果文本框为空,则清除 divCheckPassword

        3
  •  1
  •   Kiran Shahi Jonny    7 年前

    只需首先检查 input 是否为空。

    function isPasswordMatch() {
        var password = $("#txtNewPassword").val();
        var confirmPassword = $("#txtConfirmPassword").val();
    
        if(password =='' || confirmPassword=='')
          $("#divCheckPassword").html('');
        else if(password != confirmPassword)
          $("#divCheckPassword").html("Passwords do not match!");
        else
          $("#divCheckPassword").html("Passwords match.");
    
    
    }
    
    $(document).ready(function () {
        $("#txtConfirmPassword").keyup(isPasswordMatch);
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <p>
        <input type="password" name="NPassword" placeholder="New Password" id="txtNewPassword" />
    </p>
    <input type="password" name="RNPassword" placeholder="Retype New Password" id="txtConfirmPassword" onChange="isPasswordMatch();" />
    <div id="divCheckPassword"></div>
        4
  •  0
  •   FIFA oneterahertz    7 年前

    此代码用于在您先删除密码后再确认密码,或者反之亦然时隐藏消息。

    function isPasswordMatch() {
        var password = $("#txtNewPassword").val();
        var confirmPassword = $("#txtConfirmPassword").val();
    
        if (password != confirmPassword) $("#divCheckPassword").html("Passwords do not match!");
            else $("#divCheckPassword").html("Passwords match.");
    
     if ((password ==  "") && (confirmPassword == "")) $("#divCheckPassword").hide();
    
    
    if ((confirmPassword ==  "") && (password == "")) $("#divCheckPassword").hide();
    }
    
    $(document).ready(function () {
        $("#txtNewPassword").keyup(isPasswordMatch);
        $("#txtConfirmPassword").keyup(isPasswordMatch);
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <p>
        <input type="password" name="NPassword" placeholder="New Password" id="txtNewPassword" />
    </p>
    <input type="password" name="RNPassword" placeholder="Retype New Password" id="txtConfirmPassword" onChange="isPasswordMatch();" />
    <div id="divCheckPassword"></div>