基于JavaScript实现带数据验证和复选框的表单提交


Posted in Javascript onAugust 23, 2017

实现:

1.用户至少选中某项,即表示选中该行,同时该行的数据验证通过,表单提交;否则,不提交。

html

<!DOCTYPE html> 
<html lang="en"> 
<head> 
 <meta charset="UTF-8"> 
 <title>带数据验证和复选框的表单提交</title> 
 <script src="../commonJqery/jquery-3.0.0.js" type="text/javascript"></script> 
 <style type="text/css"> 
  table { 
   border-collapse: collapse; 
  } 
  td,th { 
   width: 40px; 
   height: 100px; 
   border:1px solid #000; 
  } 
  table tbody tr:hover { 
   background-color: red; 
  } 
  table tbody tr:not(:first-child):hover {background-color: #666; 
  } 
  td input[name='number']{ 
   width: 100px; 
  } 
 </style> 
</head> 
<body> 
 <form action="http://www.baidu.com" id="order_shopping" name="order_shopping" method="get" onsubmit="return checkShopping();"> 
  <table id="table" class="fl"> 
   <thead> 
    <tr> 
     <th>商品名</th> 
     <th>单价</th> 
     <th>购买数量</th> 
     <th><input id="both" type="checkbox" name="both" autocomplete="off"></th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr> 
     <td>香蕉</td> 
     <td>100</td> 
     <td><input type="text" name="number" autocomplete="off" placeholder="请输入数量"></td> 
     <td> 
      <input type="checkbox" name="choice" autocomplete="off"> 
     </td> 
    </tr> 
    <tr> 
     <td>苹果</td> 
     <td>100</td> 
     <td><input type="text" name="number" autocomplete="off" placeholder="请输入数量"></td> 
     <td> 
      <input type="checkbox" name="choice" autocomplete="off"> 
     </td> 
    </tr> 
   </tbody> 
  </table> 
  <input type="submit" id="add_shopping" value="添加购物车"/> 
 </form> 
 <p id="msg"></p> 
</body> 
</html>

js:

<script type="text/javascript"> 
  $(function(){ 
   //全选 
   $("input[name='both']").click(function(){ 
    var $isSelected = $(this).is(":checked"); 
    for(var i = 0;i<$("input[name='choice']").length;i++){ 
     $("input[name='choice']")[i].checked = $isSelected; 
     } 
    }) 
  }); 
  // 输入正确,且有选中该行复选框才提交 
  function checkShopping(){ 
   $("#msg").html(''); 
   var $checkbox = $("input[name='choice']"); 
   var reg = /^[1-9]\d*$/; 
   var $number = ""; 
   var isInteger = false;//记录数字是否正确 
   var moreOne = false;//选择复选框个数 
   $checkbox.each(function(){ 
    if($(this).is(":checked")){ 
     $number = $(this).parent().prev().children().val(); 
     if(reg.test($number)){ 
      isInteger = true; 
      moreOne = true; 
     }else{ 
      $("#msg").html('提示:输入数量必须为正整数'); 
      isInteger = false; 
     } 
    } 
   }) 
   if(isInteger && moreOne){ 
    return true; 
   }else if(!moreOne){ 
    $("#msg").html('提示:至少选择一条信息'); 
    return false; 
   }else{ 
    return false; 
   } 
  } 
</script>

总结

以上所述是小编给大家介绍的基于JavaScript实现带数据验证和复选框的表单提交,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
ajax 文件上传应用简单实现
Mar 03 Javascript
基于jQuery的公告无限循环滚动实现代码
May 11 Javascript
js打开windows上的可执行文件示例
May 27 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
Jun 26 Javascript
jQuery实现简单的日期输入格式化控件
Mar 12 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
Jul 17 Javascript
jquery实现具有收缩功能的垂直导航菜单
Feb 16 Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
Jul 11 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
Nov 28 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
Jul 10 Javascript
vue引用外部JS的两种种方法
Jan 28 Javascript
jquery实现点击左右按钮切换图片
Jan 27 jQuery
使用JS组件实现带ToolTip验证框的实例代码
Aug 23 #Javascript
利用Vue实现移动端图片轮播组件的方法实例
Aug 23 #Javascript
详解AngularJS跨页面传值(ui-router)
Aug 23 #Javascript
vue中页面跳转拦截器的实现方法
Aug 23 #Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
Aug 23 #jQuery
Angular2+国际化方案(ngx-translate)的示例代码
Aug 23 #Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
Jun 17 #Javascript
You might like
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
2009/03/13 PHP
PHP编程实现阳历转换为阴历的方法实例
2017/08/08 PHP
PHP检查URL包含特定字符串实例方法
2019/02/11 PHP
Js中的onblur和onfocus事件应用介绍
2013/08/27 Javascript
Iframe实现跨浏览器自适应高度解决方法
2014/09/02 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
2014/12/15 Javascript
JavaScript判断DIV内容是否为空的方法
2016/01/29 Javascript
js匿名函数作为函数参数详解
2016/06/01 Javascript
全面解析Bootstrap中scrollspy(滚动监听)的使用方法
2016/06/06 Javascript
关于javascript的一些知识以及循环详解
2016/09/12 Javascript
JS设置时间无效问题的解决办法
2017/02/18 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
2017/09/27 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
JQuery常见节点操作实例分析
2019/05/15 jQuery
vue3 源码解读之 time slicing的使用方法
2019/10/31 Javascript
js实现的在本地预览图片功能示例
2019/11/09 Javascript
JS实现transform实现扇子效果
2020/01/17 Javascript
[04:28]2014DOTA2国际邀请赛 采访小兔子LGD挺进钥匙体育馆
2014/07/14 DOTA
[00:48]DOTA2国际邀请赛公开赛报名开始 扫码开启逐梦之旅
2018/06/06 DOTA
Django的信号机制详解
2017/05/05 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
Python语法分析之字符串格式化
2019/06/13 Python
Django使用模板后无法找到静态资源文件问题解决
2019/07/19 Python
Keras loss函数剖析
2020/07/06 Python
德国著名廉价网上药店:Shop-Apotheke
2017/07/23 全球购物
英国布鲁姆精品店:Bloom Boutique
2018/03/01 全球购物
俄罗斯设计师家具购物网站:The Furnish
2019/12/01 全球购物
MySQL面试题目集锦
2016/04/14 面试题
某同学的自我鉴定范文
2013/12/26 职场文书
C++程序员求职信范文
2014/04/14 职场文书
学校师德承诺书
2014/05/23 职场文书
运动会横幅标语
2014/06/17 职场文书
应届大专生求职信
2014/06/26 职场文书
结婚堵门保证书
2015/05/08 职场文书
爸爸的三轮车观后感
2015/06/16 职场文书
让人瞬间清醒的句子,句句经典,字字如金
2019/07/08 职场文书