javascript验证未读取我的if-else if上的其他条件

javascript验证未读取我的if-else if上的其他条件,javascript,jquery,validation,Javascript,Jquery,Validation,有什么问题吗?我试图验证输入字段名称、公司名称、密码,当我在密码字段上时,它说密码不应为空,但我已经在密码输入字段上输入了一些字符 它似乎没有读取password.length和password!=确认我的密码条件,否则如果 这是我的密码 $('#button-parent a').bind('click',function(e){ var $this = $(this); var prev = current; var name = docume

有什么问题吗?我试图验证输入字段名称、公司名称、密码,当我在密码字段上时,它说密码不应为空,但我已经在密码输入字段上输入了一些字符

它似乎没有读取
password.length
password!=确认我的密码条件,否则如果

这是我的密码

$('#button-parent a').bind('click',function(e){
        var $this = $(this);
        var prev = current;
        var name = document.getElementById('name').value;
        var company_name =  document.getElementById('company_name').value;
        var password = document.getElementById('password').value;
        var confirm_password = document.getElementById('confirm_password').value;
        var email = document.getElementById('email').value;


        if( name == null || name == "") {
                alert('name is required');
                return false;

        } else if( name.length < 5) {
                alert('name must be atleast 6 characters');
                return false;

        } else if( company_name == null || company_name == ""){
                alert('company name is required');
                return false;

        } else if ( password == null || password == ""){
                alert('password field should not be empty');
                return false;

        } else if ( password.length < 8 ) {
                alert('password must be atleast 8 characters');
                return false;

        } else if ( password != confirm_password ) {
                alert('Password do not match');
                return false;
        }
$(“#按钮父级a”).bind('click',函数(e){
var$this=$(this);
var prev=当前值;
var name=document.getElementById('name')。值;
var company_name=document.getElementById('company_name')。值;
var password=document.getElementById('password')。值;
var confirm_password=document.getElementById('confirm_password')。值;
var email=document.getElementById('email')。值;
如果(名称==null | |名称==“”){
警报(“需要名称”);
返回false;
}else if(name.length<5){
警报('名称必须至少包含6个字符');
返回false;
}else if(公司名称==null | |公司名称===“”){
警报(“需要公司名称”);
返回false;
}else if(密码==null | |密码==“”){
警报(“密码字段不应为空”);
返回false;
}else if(password.length<8){
警报('密码必须至少为8个字符');
返回false;
}否则如果(密码!=确认密码){
警报(“密码不匹配”);
返回false;
}

您可以尝试使用以下代码行,因为您使用的是jQuery

var password = $('#password').val();

要快速检查此行是否有效,您可以在开发工具的控制台部分键入并运行此命令。如果有效,您应该看到输入值。

rIf如果您使用jQuery,为什么不从$()选择器获取值

$(function() { 
    $('#button-parent a').bind('click', function(e) {
        var $this = $(this);
        var prev = current;
        var name = $('#name').val();
        var company_name = $('#company_name').val();
        var password = $('#password').val();
        var confirm_password = $('#confirm_password').val();
        var email = $('#email').val();

        var errorMsg = '';
        if (name == null || name == "") {
          errorMsg += 'name is required\n';
        }
        if (name.length < 5) {
          errorMsg += 'name must be atleast 6 characters\n';
        }
        if (company_name == null || company_name == "") {
          errorMsg += 'company name is required\n';

        }
        if (password == null || password == "") {
          errorMsg += 'password field should not be empty\n';

        }
        if (password.length < 8) {
          errorMsg += 'password must be atleast 8 characters\n';

        }
        if (password != confirm_password) {
          errorMsg += 'Password do not match';
        }
        if (errorMsg != '') {
          alert(errorMsg);
          return false;
        }
    });
});
$(函数(){
$(“#按钮父级a”).bind('click',函数(e){
var$this=$(this);
var prev=当前值;
var name=$('#name').val();
var company_name=$(“#company_name”).val();
var password=$('#password').val();
var confirm_password=$('#confirm_password').val();
var email=$('#email').val();
var errorMsg='';
如果(名称==null | |名称==“”){
errorMsg+='需要名称\n';
}
如果(名称长度<5){
errorMsg+='名称必须至少包含6个字符\n';
}
如果(公司名称==null | |公司名称===“”){
errorMsg+='需要公司名称\n';
}
如果(密码==null | |密码==“”){
errorMsg+='密码字段不应为空\n';
}
如果(密码长度<8){
errorMsg+='密码必须至少为8个字符\n';
}
如果(密码!=确认密码){
errorMsg+='密码不匹配';
}
如果(errorMsg!=''){
警报(errorMsg);
返回false;
}
});
});

通过这种方式,您可以一次显示表单中的所有错误,用户将不会感到恼火。

如果您想检查空密码,请检查您已经准备好的密码长度,所有这些
null
检查都是不必要的,因为输入的
.value
永远不会是
null
。嗨,guradio,我已经重新设置了如果(password==null | | password==“”)移动条件我在密码字段中输入了8个以上的字符,并且警告密码必须至少为8个字符,警告不应该正确显示?我使用getElementByid,因为jquery选择器没有获得值名称和公司名称似乎没有问题,但当出现密码字段警告时,我输入了8个以上的字符字符,并且没有错误。可能是什么错误?好的,我认为您没有在文档内部工作。准备好了吗…请参阅我编辑的代码,您必须在$(function(){})内部使用jQuery为了从元素中获得正确的结果,在它正常工作之前,我不知道发生了什么。顺便说一句,我试图将我的代码替换为您编辑过的代码,现在仍在工作。您可以为您的页面设置一个jsfiddle()吗,然后我可以看到HTML发生了什么