2016-10-10 170 views
0

当前日期和年份正在验证中,但我想添加一个复选框到列表中。添加复选框验证

表单代码:

var html = ''; 
    html += '<div class="ac-overlay"></div>'; 
    html += '<div class="ac-container">'; 
    html += '<h2>' + settings.title + '</h2>'; 
    html += '<p>' + copy.replace('[21]','<strong>'+settings.minAge+'</strong>'); + '</p>'; 
    html += '<div class="errors"></div>'; 
    html += '<div class="fields"><select class="month">';for(var i=0;i<months.length;i++){ 
    html += '<option value="'+i+'">'+months[i]+'</option>'} 
    html += '</select>'; 
    html += '<input class="day" maxlength="2" placeholder="01" />'; 
    html += '<input class="year" maxlength="4" placeholder="2016"/>'; 
    html +="<br><br>"; 
    html +='<p><input class="smoker" type="checkbox"/>Please verify that you are a smoker.</p>'; 
    html +="<br>"; 
    html += '<button>Submit</button></div></div>'; 

验证脚本:

validate : function(){ 
_this.errors = []; 
if (/^([0-9]|[12]\d|3[0-1])$/.test(_this.day) === false) { 
_this.errors.push('Day is invalid or empty'); 
}; 
if (/^(19|20)\d{2}$/.test(_this.year) === false) { 
_this.errors.push('Year is invalid or empty'); 
}; 
_this.clearErrors(); 
_this.displayErrors(); 
return _this.errors.length < 1; 
}, 

我打得四处下面的代码位,但缺少的东西:

if ("Not sure what to enter here to validate the checkbox.".test(_this.smoker) === false) { 
_this.errors.push('You have not selected if you are a smoker'); 
}; 
+0

您使用的验证框架是什么?此外,无法验证复选框未被检查,因为用户不是吸烟者,或者由于其他原因未选中该复选框。 –

+0

@MikeMcCaughan一旦提交按钮被触发,验证脚本运行。目前在上面的块中没有检查复选框状态的部分。 添加我发布到验证的代码的最后一位将尝试验证复选框,但我不知道要添加到该代码验证为true,如果它选中的复选框。 – RAM

+0

那么你只是想检查复选框是否被选中? http://stackoverflow.com/q/9887360/215552。 –

回答

0

当时有点的解决办法,但最终更改了复选框以启用和禁用验证按钮。

$(document).ready(function(){ 
       $('#isAgeSelected').change(function(){ 
        if(this.checked) 
        $('#autoUpdate').fadeIn('slow'); 
        else 
        $('#autoUpdate').fadeOut('slow'); 
       }); 
       }); 

       html +="<br><br>"; 
       html += '<p><input type="checkbox" id="isAgeSelected"/> Please verify the date above is correct.'; 
       html += '<div id="autoUpdate" class="autoUpdate" style="display:none"><button>Submit</button></div>'; 
       html += '</div></div>'; 

看看它是如何在这里工作:http://jsfiddle.net/3WEVr/1135/