Javascript 如果语句不';行不通

Javascript 如果语句不';行不通,javascript,jquery,forms,validation,Javascript,Jquery,Forms,Validation,我在JQuery中构建了一个小型表单验证程序。现在我的输出有问题 $(function () { $('.register').submit(function (event) { $('.form-group').removeClass('has-error'); // remove the error class $('.help-form').remove(); var lengthp = $('input[name=pass

我在JQuery中构建了一个小型表单验证程序。现在我的输出有问题

 $(function () {
     $('.register').submit(function (event) {
         $('.form-group').removeClass('has-error'); // remove the error class
         $('.help-form').remove();
         var lengthp = $('input[name=password]').val().length;
         //alert(length);
         var error = new String();
         if ($('input[name=password2]').val() != $('input[name=password]').val()) {
             error['pwd'] = "Die Passwörter stimmen nicht überein!";
         }
         if (lengthp < 7) {
             error['length'] = "Das Passwort muss mindestens 8 Zeichen lang sein.";
         }
         if (error) {
             // add the error class to show red input
             if (error['pwd']) {
                 $('#passgroup2').addClass('has-error');
                 $("#passgroup2 > div").append('<span class="help-block help-form">' + error['pwd'] + '</span>');
             }
             if (error['length']) {
                 $('#passgroup').addClass('has-error');
                 $("#passgroup > div").append('<span class="help-block help-form">' + error['length'] + '</span>');
             }
         }
         //alert($('input[name=password]').val()));
         event.preventDefault();
     });

 });
$(函数(){
$('.register').submit(函数(事件){
$('.form group').removeClass('has-error');//删除错误类
$('.help form').remove();
var lengthp=$('input[name=password]').val().length;
//警报(长度);
var error=新字符串();
if($('input[name=password2]').val()!=$('input[name=password]').val()){
错误['pwd']=“Die Passwörter stimmen nichtüberein!”;
}
如果(长度p<7){
错误['length']=“这是一个8字的密码。”;
}
如果(错误){
//添加错误类以显示红色输入
如果(错误['pwd']){
$('#passgroup2').addClass('has-error');
$(“#passgroup2>div”).append(“”+error['pwd']+“”);
}
if(错误['length']){
$('#passgroup').addClass('has-error');
$(“#passgroup>div”).append(“”+error['length']+“”);
}
}
//警报($('input[name=password]').val());
event.preventDefault();
});
});
if语句
if(error['pwd']){
工作正常,但语句
if(error['length']){
不工作

有人知道如何修复它吗?
谢谢!!!

尝试对代码进行以下修改,如果错误是一个对象,那么事情会更容易处理,代码也会更容易理解,我不知道你为什么将错误设置为字符串。希望有帮助

  //Error object
  var error = {};

 if ($('input[name=password2]').val() != $('input[name=password]').val()) {    
    //setting pwd error property 
    error.pwd = "Die Passwörter stimmen nicht überein!";
 }

 if (lengthp < 7) {
    //setting length error property  
    error.length = "Das Passwort muss mindestens 8 Zeichen lang sein.";
 }

 //Getting rid of this if because as it is defined, it will be always truthy 
 //if (error) {
    // add the error class to show red input
    if (typeof error.pwd !== "undefined") {
       $('#passgroup2').addClass('has-error');
       $("#passgroup2 > div").append('<span class="help-block help-form">' + error['pwd'] + '</span>');
    }

    if (typeof error.length !== "undefined") {
       $('#passgroup').addClass('has-error');
       $("#passgroup > div").append('<span class="help-block help-form">' + error['length'] + '</span>');
    }
 //}
//错误对象
var error={};
if($('input[name=password2]').val()!=$('input[name=password]').val(){
//设置pwd错误属性
error.pwd=“Die Passwörter stimmen nichtüberein!”;
}
如果(长度p<7){
//设置长度错误属性
error.length=“这是一个8字的密码。”;
}
//摆脱它,如果因为它的定义,它将永远是真实的
//如果(错误){
//添加错误类以显示红色输入
if(typeof error.pwd!=“未定义”){
$('#passgroup2').addClass('has-error');
$(“#passgroup2>div”).append(“”+error['pwd']+“”);
}
if(typeof error.length!=“未定义”){
$('#passgroup').addClass('has-error');
$(“#passgroup>div”).append(“”+error['length']+“”);
}
//}

var error
必须是
对象
对吗?我不知道为什么
如果(error['pwd'])
有效…为什么要使用
String
作为数组?Sting是一个文本(字符数组),但不是数据数组。使用
var error=[]
var error={}
取而代之。谢谢@Guillermo的回答很好:)