基于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 常见学习网站与参考书
Nov 09 Javascript
JavaScript 语言的递归编程
May 18 Javascript
Web开发者必备的12款超赞jQuery插件
Dec 03 Javascript
鼠标划过实现延迟加载并隐藏层的js代码
Oct 11 Javascript
分享JavaScript获取网页关闭与取消关闭的事件
Dec 13 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
Jun 16 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
May 20 Javascript
解决vue+element 键盘回车事件导致页面刷新的问题
Aug 25 Javascript
jQuery控制input只能输入数字和两位小数的方法
May 16 jQuery
vue中使用vue-print.js实现多页打印
Mar 05 Javascript
jquery更改元素属性attr()方法操作示例
May 22 jQuery
vue实现虚拟列表功能的代码
Jul 28 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
WindowsXP中快速配置Apache+PHP5+Mysql
2008/06/05 PHP
PHP写UltraEdit插件脚本实现方法
2011/12/26 PHP
PHP连接MySQL的2种方法小结以及防止乱码
2014/03/11 PHP
php简单生成一组与多组随机字符串的方法
2017/05/09 PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
2017/06/17 PHP
Ajax+PHP实现的模拟进度条功能示例
2019/02/11 PHP
JavaScript 加号(+)运算符号
2009/12/06 Javascript
jquery移动listbox的值原理及代码
2013/05/03 Javascript
AngularJS模块管理问题的非常规处理方法
2015/04/29 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
2015/11/24 Javascript
深入php面向对象、模式与实践
2016/02/16 Javascript
简单理解vue中Props属性
2016/10/27 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
React服务端渲染(总结)
2017/07/01 Javascript
Node.JS更改Windows注册表Regedit的方法小结
2017/08/18 Javascript
JS实现移动端触屏拖拽功能
2018/07/31 Javascript
js取0-9随机取4个数不重复的数字代码实例
2019/03/27 Javascript
vue路由切换时取消之前的所有请求操作
2020/09/01 Javascript
vue+swiper实现左右滑动的测试题功能
2020/10/30 Javascript
python返回昨天日期的方法
2015/05/13 Python
Python变量和数据类型详解
2017/02/15 Python
修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法
2018/01/26 Python
Python绘制KS曲线的实现方法
2018/08/13 Python
python 去除二维数组/二维列表中的重复行方法
2019/01/23 Python
python检测服务器端口代码实例
2019/08/31 Python
Python调用.net动态库实现过程解析
2020/06/05 Python
西铁城美国官方网站:Citizen Watch美国
2019/11/08 全球购物
西班牙在线光学:Visual-Click
2020/06/22 全球购物
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
中文专业毕业生自荐信
2014/05/24 职场文书
大学生工作自荐书
2014/06/16 职场文书
个人批评与自我批评
2014/10/15 职场文书
九华山导游词
2015/02/03 职场文书
Nginx服务器如何设置url链接
2021/03/31 Servers
Python基本的内置数据类型及使用方法
2022/04/13 Python
uniapp引入支付宝原生扫码插件步骤详解
2022/07/23 Javascript