基于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 相关文章推荐
jquery判断RadioButtonList和RadioButton中是否有选中项示例
Sep 29 Javascript
js 异步操作回调函数如何控制执行顺序
Dec 24 Javascript
js中一维数组和二位数组中的几个问题示例说明
Jul 17 Javascript
生成二维码方法汇总
Dec 26 Javascript
js实现下拉框选择要显示图片的方法
Feb 16 Javascript
jquery+ajax实现注册实时验证实例详解
Dec 08 Javascript
针对JavaScript中this指向的简单理解
Aug 26 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
Sep 30 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
Dec 09 Javascript
javascript中的try catch异常捕获机制用法分析
Dec 14 Javascript
weex里Vuex state使用storage持久化详解
Sep 09 Javascript
使用webpack4编译并压缩ES6代码的方法示例
Apr 24 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
PHP调用三种数据库的方法(3)
2006/10/09 PHP
php常用Stream函数集介绍
2013/06/24 PHP
PHP实现单条sql执行多个数据的insert语句方法
2019/10/11 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
jQuery代码优化 选择符篇
2011/11/01 Javascript
探讨jQuery的ajax使用场景(c#)
2013/12/03 Javascript
如何用js 实现依赖注入的思想,后端框架思想搬到前端来
2015/08/03 Javascript
js为什么不能正确处理小数运算?
2015/12/29 Javascript
BootStrap CSS全局样式和表格样式源码解析
2017/01/20 Javascript
深入理解requireJS-实现一个简单的模块加载器
2018/01/15 Javascript
JS文件中加载jquery.js的实例代码
2018/05/05 jQuery
JS实现字符串中去除指定子字符串方法分析
2018/05/17 Javascript
JS面试题大坑之隐式类型转换实例代码
2018/10/14 Javascript
js中延迟加载和预加载的具体使用
2021/01/14 Javascript
Python 连连看连接算法
2008/11/22 Python
开源软件包和环境管理系统Anaconda的安装使用
2017/09/04 Python
Python键盘输入转换为列表的实例
2018/06/23 Python
Django框架模板的使用方法示例
2019/05/25 Python
Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)
2020/02/17 Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
2020/02/27 Python
python实现扑克牌交互式界面发牌程序
2020/04/22 Python
python进度条显示之tqmd模块
2020/08/22 Python
Python监听剪切板实现方法代码实例
2020/11/11 Python
PyTorch 中的傅里叶卷积实现示例
2020/12/11 Python
使用CSS3和Checkbox实现JQuery的一些效果
2015/08/03 HTML / CSS
医疗保健专业人士购物网站:Scrubs & Beyond
2017/02/08 全球购物
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
如何通过 CSS 写出火焰效果
2021/03/24 HTML / CSS
国际会议邀请函范文
2014/01/16 职场文书
政府法律服务方案
2014/06/14 职场文书
企业授权委托书范本
2014/09/22 职场文书
个人融资协议书范本两则
2014/10/15 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
导游词之南京汤山温泉
2019/11/26 职场文书
MongoDB orm框架的注意事项及简单使用
2021/06/20 MongoDB
Redis批量生成数据的实现
2022/06/05 Redis