基于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 相关文章推荐
Prototype源码浅析 String部分(一)之有关indexOf优化
Jan 15 Javascript
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
Oct 11 Javascript
JavaScript对IE操作的经典代码(推荐)
Mar 10 Javascript
浅谈js的异步执行
Oct 18 Javascript
微信小程序 两种滑动方式(横向滑动,竖向滑动)详细及实例代码
Jan 13 Javascript
关于vue-resource报错450的解决方案
Jul 24 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
Aug 16 Javascript
JS中的多态实例详解
Oct 15 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
Aug 28 jQuery
JS实现的点击按钮图片上下滚动效果示例
Jan 28 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
Oct 28 Javascript
uniapp 微信小程序 自定义tabBar 导航
Apr 22 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通过header实现文本文件下载的代码
2010/08/08 PHP
通过PHP current函数获取未知字符键名数组第一个元素的值
2013/06/24 PHP
PHP获取一个字符串中间一部分字符的方法
2014/08/19 PHP
php返回字符串中所有单词的方法
2015/03/09 PHP
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
js文件缓存之版本管理详解
2013/07/05 Javascript
随鼠标上下滚动的jquery代码
2013/12/05 Javascript
JQuery为页面Dom元素绑定事件及解除绑定方法
2014/04/23 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
2015/08/05 Javascript
两种JavaScript的AES加密方式(可与Java相互加解密)
2016/08/02 Javascript
Vue.js动态添加、删除选题的实例代码
2016/09/30 Javascript
微信小程序 ecshop地址三级联动实现实例代码
2017/02/28 Javascript
js取小数点后两位四种方法
2019/01/18 Javascript
JavaScript实现的拼图算法分析
2019/02/13 Javascript
Vue 实现登录界面验证码功能
2020/01/03 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
2020/09/10 Javascript
ES11屡试不爽的新特性,你用上了几个
2020/10/21 Javascript
[15:57]教你分分钟做大人:斧王
2014/10/30 DOTA
Unicode和Python的中文处理
2017/03/19 Python
Python绑定方法与非绑定方法详解
2017/08/18 Python
Python 实现删除某路径下文件及文件夹的实例讲解
2018/04/24 Python
django加载本地html的方法
2018/05/27 Python
python调用摄像头显示图像的实例
2018/08/03 Python
Django Rest framework之权限的实现示例
2018/12/17 Python
Python将视频或者动态图gif逐帧保存为图片的方法
2019/09/10 Python
python3图片文件批量重命名处理
2019/10/31 Python
使用Python的datetime库处理时间(RPA流程)
2019/11/24 Python
Python如何使用vars返回对象的属性列表
2020/10/17 Python
html5弹跳球示例代码
2013/07/23 HTML / CSS
巴黎卡诗加拿大官网:Kérastase加拿大
2018/11/12 全球购物
股东协议书范本
2014/04/14 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
2014年行政工作总结
2014/11/19 职场文书
2016年元旦主持词
2015/07/06 职场文书
Pytest中conftest.py的用法
2021/06/27 Python
Python爬虫网络请求之代理服务器和动态Cookies
2022/04/12 Python