超链接提交表单时,进行表单验证-checkbox框是否选中?
2014-06-22 14:37
387 查看
当点击删除的时候,验证如下表单的checkbox框是否有选中,如果有选中就提交此表单到Del的servlet,没有选中就给出用户提示(请选择车次!)
<form action="Del" method="get" id="myform" >
<table>
<tr>
<th><a href="javascript:$('#myform').submit()" >删除</a></th>
<th>车次</th>
<th>发车-到达</th>
<th>发时-到时</th>
<th>车型</th>
<th>运行时间(小时)</th>
</tr>
<c:forEach items="${list}" var="t" varStatus="i">
<tr class="${i.count%2==0?'even':'odd'}">
<td><input type="checkbox" name="train_no" id="train_no" value="${t.train_no }"/></td>
<td><a href="Info?train_no=${t.train_no}">${t.train_no}</a></td>
<td>${t.start_station}-${t.arrival_station}</td>
<td>${t.start_time}-${t.arrival_time}</td>
<td>${t.type}</td>
<td>${t.runtime}</td>
</tr>
</c:forEach>
</table>
</form>
这是表单验证的jquery代码:
$(function(){
$("#myform").submit(function(){
var flag = false;
$("#myform input[name = train_no]").each(function(){
if($(this).attr('checked')=='checked'){
flag = true;
return false;
});
if (flag){
return true;
}else{
alert('请选择车次!');
return false;
}
});
});
checkbox没有选中时,表单验证没有生效,表单还是提交了,提交给了一个空页面,后来改成点击超链接的时候表单提交:
<a href="javascript:void(0)" onclick="$('#myform').submit()" >删除</a>,表单验证生效了。
想想这样也有点麻烦,each循环看checkbox选中没有
$("#myform input[name = train_no]").each(function(){
if($(this).attr('checked')=='checked'){
flag = true;
return false;
});
flag==true的时候,checkbox至少有一个选中,表单提交,否则不提交表单。
想想checkbox就是一个数组,计算选中的个数,如果大于0,就说明至少有一个选中了
就把代码换了一种写法 ,更好理解,更简洁
jquery 表单验证代码:
$(function(){
$("#del").click(function(){
var cks=$("input[name='train_no']:checkbox:checked");
if (cks.length>0){
$("#myform").submit();
return true;
}else{
alert("请选择车次!");
return false;
}
});
});
超链接给了一个id=del
<a href="javascript:void(0)" id="del">删除</a>
当点击删除的时候,验证如下表单的checkbox框是否有选中,如果有选中就提交此表单到Del的servlet,没有选中就给出用户提示(请选择车次!)
<form action="Del" method="get" id="myform" >
<table>
<tr>
<th><a href="javascript:$('#myform').submit()" >删除</a></th>
<th>车次</th>
<th>发车-到达</th>
<th>发时-到时</th>
<th>车型</th>
<th>运行时间(小时)</th>
</tr>
<c:forEach items="${list}" var="t" varStatus="i">
<tr class="${i.count%2==0?'even':'odd'}">
<td><input type="checkbox" name="train_no" id="train_no" value="${t.train_no }"/></td>
<td><a href="Info?train_no=${t.train_no}">${t.train_no}</a></td>
<td>${t.start_station}-${t.arrival_station}</td>
<td>${t.start_time}-${t.arrival_time}</td>
<td>${t.type}</td>
<td>${t.runtime}</td>
</tr>
</c:forEach>
</table>
</form>
这是表单验证的jquery代码:
$(function(){
$("#myform").submit(function(){
var flag = false;
$("#myform input[name = train_no]").each(function(){
if($(this).attr('checked')=='checked'){
flag = true;
return false;
});
if (flag){
return true;
}else{
alert('请选择车次!');
return false;
}
});
});
checkbox没有选中时,表单验证没有生效,表单还是提交了,提交给了一个空页面,后来改成点击超链接的时候表单提交:
<a href="javascript:void(0)" onclick="$('#myform').submit()" >删除</a>,表单验证生效了。
想想这样也有点麻烦,each循环看checkbox选中没有
$("#myform input[name = train_no]").each(function(){
if($(this).attr('checked')=='checked'){
flag = true;
return false;
});
flag==true的时候,checkbox至少有一个选中,表单提交,否则不提交表单。
想想checkbox就是一个数组,计算选中的个数,如果大于0,就说明至少有一个选中了
就把代码换了一种写法 ,更好理解,更简洁
jquery 表单验证代码:
$(function(){
$("#del").click(function(){
var cks=$("input[name='train_no']:checkbox:checked");
if (cks.length>0){
$("#myform").submit();
return true;
}else{
alert("请选择车次!");
return false;
}
});
});
超链接给了一个id=del
<a href="javascript:void(0)" id="del">删除</a>
相关文章推荐
- JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
- jquery 在提交表单的时候验证checkbox是否选中
- 提交时验证表单是否合法
- 表单提交前使用属性onsubmit进行拦截验证
- EasyUI中在表单提交之前进行验证
- EasyUI中在表单提交之前进行验证
- ZH奶酪:PHP如何判断提交表单中多个复选框是否选中?
- 一个用javascript编写的表单提交的例子(包括用正则表达式对数据进行验证)
- 使用JavaScript进行表单提交前的验证
- ext表单验证问题---验证是否可以提交
- 用 sco.js valid 插件进行表单验证时,表单是如何提交的
- Form表单提交前进行JS验证的3种方式
- jquery实现表单中选择框/选中按钮是否选中遍历检查(提交页面中选择题答案)
- 在表单提交前进行验证的几种方式
- liferay中使用jQuery Validation Engine进行ajax验证,不通过也提交表单的解决方案
- EasyUI中在表单提交之前进行验证
- 在表单提交前进行验证的几种方式整理
- 在表单提交前进行验证的几种方式整理
- struts中使用token进行表单重复提交的验证
- 使用ValidForm进行表单验证,结合SpringMVC检验用户名是否存在