基于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 相关文章推荐
IE8 原生JSON支持
Apr 13 Javascript
jQuery操作checkbox选择(list/table)
Apr 07 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
Dec 11 Javascript
jQuery基础知识小结
Dec 22 Javascript
深入理解JavaScript系列(35):设计模式之迭代器模式详解
Mar 03 Javascript
为何JS操作的href都是javascript:void(0);呢
Nov 12 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
Jun 01 Javascript
JS正则替换去空格的方法
Mar 24 Javascript
AngularJS实现图片上传和预览功能的方法分析
Nov 08 Javascript
手把手教你vue-cli单页到多页应用的方法
May 31 Javascript
浅析JavaScript异步代码优化
Mar 18 Javascript
Vue动态组件和异步组件原理详解
May 06 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
加强版phplib的DB类
2008/03/31 PHP
PHP中把对象转换为关联数组代码分享
2015/04/09 PHP
joomla组件开发入门教程
2016/05/04 PHP
php实现登陆模块功能示例
2016/10/20 PHP
PHPMailer ThinkPHP实现自动发送邮件功能
2018/06/10 PHP
各浏览器对click方法的支持差异小结
2011/07/31 Javascript
通过JavaScript控制字体大小的代码
2011/10/04 Javascript
简单的Jquery遮罩层代码实例
2013/11/14 Javascript
JS的事件绑定深入认识
2014/06/26 Javascript
Javascript节点关系实例分析
2015/05/15 Javascript
onclick和onblur冲突问题的快速解决方法
2016/04/28 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
ES6 javascript的异步操作实例详解
2017/10/30 Javascript
微信小程序封装的HTTP请求示例【附升级版】
2019/05/11 Javascript
详解js常用分割取字符串的方法
2019/05/15 Javascript
javascript 原型与原型链的理解及应用实例分析
2020/02/10 Javascript
DJANGO-ALLAUTH社交用户系统的安装配置
2014/11/18 Python
利用Fn.py库在Python中进行函数式编程
2015/04/22 Python
python实现下载文件的三种方法
2017/02/09 Python
python基础知识(一)变量与简单数据类型详解
2019/04/17 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
python实现数据分析与建模
2019/07/11 Python
纯css3实现的鼠标悬停动画按钮
2014/12/23 HTML / CSS
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
2016/06/28 HTML / CSS
HTML5本地存储之Web Storage详解
2016/07/04 HTML / CSS
海淘母婴商城:国际妈咪
2016/07/23 全球购物
五一劳动节活动记录
2014/03/23 职场文书
上党课的心得体会
2014/09/02 职场文书
股东合作协议书
2014/09/12 职场文书
婚礼证婚人演讲稿
2014/09/13 职场文书
门卫管理制度范本
2015/08/05 职场文书
给校长的建议书作文500字
2015/09/14 职场文书
golang 定时任务方面time.Sleep和time.Tick的优劣对比分析
2021/05/05 Golang
让文件路径提取变得更简单的Python Path库
2021/05/27 Python
Java如何实现树的同构?
2021/06/22 Java/Android