基于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表单提交的代码
Sep 13 Javascript
jquery插件开发之实现google+圈子选择功能
Mar 10 Javascript
node.js中的console.log方法使用说明
Dec 09 Javascript
fullpage.js全屏滚动插件使用实例
Sep 06 Javascript
巧用Javascript的逻辑运算符
Dec 02 Javascript
JavaScript之RegExp_动力节点Java学院整理
Jun 29 Javascript
js断点调试经验分享
Dec 08 Javascript
基于JavaScript中标识符的命名规则介绍
Jan 06 Javascript
原生JS实现简单的无缝自动轮播效果
Sep 26 Javascript
Vue触发隐藏input file的方法实例详解
Aug 14 Javascript
Layui tree 下拉菜单树的实例代码
Sep 21 Javascript
简单了解前端渐进式框架VUE
Jul 20 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
我的论坛源代码(一)
2006/10/09 PHP
weiphp微信公众平台授权设置
2016/01/04 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
Prototype使用指南之range.js
2007/01/10 Javascript
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
TimergliderJS 一个基于jQuery的时间轴插件
2011/12/07 Javascript
使用javascript实现简单的选项卡切换
2015/01/09 Javascript
Javascript基础教程之JavaScript语法
2015/01/18 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
javacript获取当前屏幕大小
2016/06/04 Javascript
在javascript中使用com组件的简单实现方法
2016/08/17 Javascript
Bootstrap 轮播(Carousel)插件
2016/12/26 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
js实现3D旋转相册
2020/08/02 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
2020/10/21 Javascript
python多线程http下载实现示例
2013/12/30 Python
Python自动重试HTTP连接装饰器
2015/04/28 Python
处理Python中的URLError异常的方法
2015/04/30 Python
python、java等哪一门编程语言适合人工智能?
2017/11/13 Python
Python实现的在特定目录下导入模块功能分析
2019/02/11 Python
python plotly绘制直方图实例详解
2019/07/22 Python
使用python实现kNN分类算法
2019/10/16 Python
奥地利领先的在线药房:SHOP APOTHEKE
2019/10/07 全球购物
伊莱克斯(Electrolux)俄罗斯网上商店:瑞典家用电器品牌
2021/01/23 全球购物
中间件的定义
2016/08/09 面试题
临床医师专业个人自我评价范文
2013/11/07 职场文书
公司年会晚宴演讲稿
2014/01/06 职场文书
护士进修自我鉴定
2014/02/07 职场文书
酒店管理专业毕业生求职自荐信
2014/04/28 职场文书
银行柜员求职自荐书
2014/06/18 职场文书
我的中国梦演讲稿300字
2014/08/19 职场文书
中共广东省委常委会党的群众路线教育实践活动整改方案
2014/09/23 职场文书
2014业务员年终工作总结
2014/12/09 职场文书
2016入党积极分子考察评语
2015/12/01 职场文书
委托开发合同书(标准版)
2019/08/07 职场文书