超链接提交表单时,进行表单验证-checkbox框是否选中?



当点击删除的时候,验证如下表单的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)" οnclick="$('#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>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值