js或jquery的验证问题:
例如:<tdid="one"><inputname="t1"type="text"id="a"value=""><inputname="t1"type="text"id=...
例如:
<td id="one">
<input name="t1" type="text" id="a" value="">
<input name="t1" type="text" id="b" value="">
<input name="t1" type="text" id="c" value="">
</td>
<td id="two">
<input name="t1" type="text" id="d" value="">
<input name="t1" type="text" id="e" value="">
<input name="t1" type="text" id="f" value="">
</td>
我想找到指定td下的所有value,例如我在id=“a”的input中填写一个值那么在我提交表单的时候要验证id=b和id=c的value不能为空而 第二个td中的input则不验证,反过来也一样(id=a 或b或c中我任意在一个input中填写值都要验证其他两个 不能为空) 希望各位大虾帮帮忙
^_^是这样的, 这里一共四行如果都为空 可以直接提交数据, 如果在 第一行的某一列 添加值了那么在提交的时候就要判断这一行的其他列是否为空,如果有一个为空 就不让提交 而其他行不尽心判断,感觉你好厉害啊O(∩_∩)O 希望能帮我解答 展开
<td id="one">
<input name="t1" type="text" id="a" value="">
<input name="t1" type="text" id="b" value="">
<input name="t1" type="text" id="c" value="">
</td>
<td id="two">
<input name="t1" type="text" id="d" value="">
<input name="t1" type="text" id="e" value="">
<input name="t1" type="text" id="f" value="">
</td>
我想找到指定td下的所有value,例如我在id=“a”的input中填写一个值那么在我提交表单的时候要验证id=b和id=c的value不能为空而 第二个td中的input则不验证,反过来也一样(id=a 或b或c中我任意在一个input中填写值都要验证其他两个 不能为空) 希望各位大虾帮帮忙
^_^是这样的, 这里一共四行如果都为空 可以直接提交数据, 如果在 第一行的某一列 添加值了那么在提交的时候就要判断这一行的其他列是否为空,如果有一个为空 就不让提交 而其他行不尽心判断,感觉你好厉害啊O(∩_∩)O 希望能帮我解答 展开
展开全部
好吧,这个很简单的
html
<td id="td">
<input name="t1" type="text" value="">
<input name="t2" type="text" value="">
<input name="t3" type="text" value="">
</td>
<button type="submit" id="submit">submit</button>
js
function Valid(wrap){
var allEmpty = true;//全部为空
var notAllEmpty = true;//全部不为空
wrap.find(':text').each(function(){
var val = $(this).val();
allEmpty = !val && allEmpty;//只要有一个不是空的,就为false,否则为true
notAllEmpty = val && notAllEmpty;//只要有一个是空,就为false,否则为true
});
return allEmpty || notAllEmpty;//全部是空的,就直接返回true
//否则返回是否全部不为空
}
开始使用
$(function(){
var td = $('#td');
//可以在任意地方触发你的校验程序,比如提交的时候
$('#submit').click(function(){
if(!Valid(td)){
//这里可以做一些提示
alert('请将资料填写完整');
return false;
}
});
})
追问
追答
- -我刚才给你的明显就可以实现这个啊
很简单的嘛
$(function(){
$(':submit').click(function(){//当点击提交按钮的时候
var isSubmit = true;//是否允许提交
$('tr').each(function(){//对所有的行进行校验
isSubmit = Valid($(this)) && isSubmit;
//如果有某一行无法通过验证(全部为空或者全部不为空)
//isSubmit就为false
});
return isSubmit;//这里如果验证不通过,阻止继续提交表单
});
});
展开全部
var status = true;
$('td').each(function(index){
var sts,message;
$(this).find('input').each(function(){
if($.trim(this.value)){
sts = true;
}else if(!message){
message = '第‘+index+’列数据不完整';
}
});
if(sts && message){
alert(message);//这里是获取哪个地方不通过 如果一行有2个地方不通过 那么提示第一个
return status = false; //如果某行不通过 那么不需要检测下一行了
}
});
if(!status ){
alert('验证不通过');//这里做不通过处理
}
不管几行几列都一样可以处理的
$('td').each(function(index){
var sts,message;
$(this).find('input').each(function(){
if($.trim(this.value)){
sts = true;
}else if(!message){
message = '第‘+index+’列数据不完整';
}
});
if(sts && message){
alert(message);//这里是获取哪个地方不通过 如果一行有2个地方不通过 那么提示第一个
return status = false; //如果某行不通过 那么不需要检测下一行了
}
});
if(!status ){
alert('验证不通过');//这里做不通过处理
}
不管几行几列都一样可以处理的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询