我有一些输入归档到表单中。我试图检查那些值的空值和空值。
我的js代码为:
$(function(){
$('#submit').click(function(){
var cid = $('#CTID').val();
var sid = $('#sbj').val();
var d = $('#bdate').val();
var t = $('#time').val();
var dt = d+' '+t;
var path = '/admin/exam_schedule';
if (cid ==''||cid==null || sid==''||cid==null || d==''||d==null || t==''||t==null) {
alert('Input all data fields');
}
else{
var url='/admin/insert_exam_schedule';
$.post(url,{c:cid,s:sid,d:dt},function(data){
alert(data);
window.location.href= path
});
}
});
});
但是这段代码的问题是:当我在输入字段中输入空格然后它将空格作为输入。但是,我想验证所有可能的方式,以便我可以将实际数据作为输入。 / p>
答案 0 :(得分:1)
val()只返回null
个select
元素,其他所有内容都应返回''
,因此,如果您没有使用select
元素那么str != ''
或str.length > 0
就足够了。
如果您使用的是select
元素,那么请先检查是否先分配了值,例如str && str != ''
或str && str.length > 0
(或者您将null
默认为''
以保持一致性。)
如果要排除仅限空格的字符串,请在验证期间使用trim()。
var cid = $('#CTID').val();
var sid = $('#sbj').val();
var d = $('#bdate').val();
var t = $('#time').val();
var dt = d+' '+t;
if (cid.trim() == '' || sid.trim() == '' || d.trim() == '' || t.trim() == '') {
// data invalid
}
else {
// data valid
}
答案 1 :(得分:-1)
尝试,
var condition = $('#CTID,#sbj,#bdate,#time').map(function(){
return $.trim(this.value);
}).get().join('') === '';
if(condition){ alert('Input all data fields'); }
简易版,
var condition = false;
$('#CTID,#sbj,#bdate,#time').each(function(){
if($.trim(this.value) === "") {
condition = true;
return false;
}
})
if(condition){ alert('Input all data fields'); }
完整代码将是,
$('#submit').click(function(e){
e.preventDefalut();
var condition = $('#CTID,#sbj,#bdate,#time').map(function(){
return $.trim(this.value);
}).get().join('') === '';
if(condition){ alert('Input all data fields'); }
else {
var url='/admin/insert_exam_schedule';
$.post(url,{c:cid,s:sid,d:dt},function(data){
alert(data);
window.location.href= path
});
}
});