基于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 相关文章推荐
js字符编码函数区别分析
Jun 05 Javascript
锋利的jQuery 第三章章节总结的例子
Mar 23 Javascript
自己动手制作基于jQuery的Web页面加载进度条插件
Jun 03 Javascript
Bootstrap选项卡动态切换效果
Nov 28 Javascript
Vue中计算属性computed的示例解读
Jul 26 Javascript
webpack 2.x配置reactjs基本开发环境详解
Aug 08 Javascript
你可能不知道的JSON.stringify()详解
Aug 17 Javascript
ES6中Array.find()和findIndex()函数的用法详解
Sep 16 Javascript
Electron-vue脚手架改造vue项目的方法
Oct 22 Javascript
react native 原生模块桥接的简单说明小结
Feb 26 Javascript
6种JavaScript继承方式及优缺点(小结)
Feb 06 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
Apr 25 Javascript
使用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
Discuz 模板引擎的封装类代码
2008/07/18 PHP
md5 16位二进制与32位字符串相互转换示例
2013/12/30 PHP
ThinkPHP快速入门实例教程之数据分页
2014/07/01 PHP
php无限极分类递归排序实现方法
2014/11/11 PHP
php使用递归函数实现数字累加的方法
2015/03/16 PHP
Yii数据读取与跳转参数传递用法实例分析
2016/07/12 PHP
JavaScript动态创建div属性和样式示例代码
2013/10/09 Javascript
js中对象的声明方式以及数组的一些用法示例
2013/12/11 Javascript
JavaScript字符串对象substring方法入门实例(用于截取字符串)
2014/10/17 Javascript
JavaScript面向对象之私有静态变量实例分析
2016/01/14 Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
2016/03/05 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
MUI 上拉刷新/下拉加载功能实例代码
2017/04/13 Javascript
webpack之devtool详解
2018/02/10 Javascript
node.js中fs文件系统目录操作与文件信息操作
2018/02/24 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
2018/09/25 Javascript
详解ES6系列之私有变量的实现
2018/11/21 Javascript
详解vue中使用protobuf踩坑记
2019/05/07 Javascript
JavaScript构造函数原理及实现流程解析
2020/11/19 Javascript
[06:59]DOTA2-DPC中国联赛3月7日Recap集锦
2021/03/11 DOTA
python3图片转换二进制存入mysql
2013/12/06 Python
Python文件读写保存操作的示例代码
2018/09/14 Python
Django 路由控制的实现
2019/07/17 Python
Python 实现自动登录+点击+滑动验证功能
2020/06/10 Python
如何使用python记录室友的抖音在线时间
2020/06/29 Python
香港草莓网土耳其网站:Strawberrynet TR
2017/03/02 全球购物
Muziker英国:中欧最大的音乐家商店
2020/02/05 全球购物
Goodee官方商店:迷你投影仪
2021/03/15 全球购物
extern是什么意思
2016/03/10 面试题
入党自我评价范文
2014/02/02 职场文书
求职者怎样写自荐信
2014/04/13 职场文书
六查六看剖析材料
2014/10/06 职场文书
2014年自愿离婚协议书
2014/10/10 职场文书
远程教育培训心得体会
2016/01/09 职场文书
奖学金申请书(范文)
2019/08/14 职场文书