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发生了什么