基于JavaScript实现带数据验证和复选框的表单提交

实现:

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实现带数据验证和复选框的表单提交,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装

    前段时间写了一个 js数据验证.js email验证.js url验证.js长度验证.js数字验证等 弹出对话框形式的但是,现在不太流行那种很不友好的方式,于是重写了一个,封装得更加好的,更友好的层形式共享给大家,如果大家使用有bug,请大家给我留言完善,谢谢了. js代码 复制代码 代码如下: /** * 数据验证框架.增加了对id字段检查出错时,直接在对应后面添加一< span>元素来显示错误信息. * * @author wangzi6hao * @version 2.1 * @desc

  • asp.net中JavaScript数据验证实现代码

    今天在做一个数据修改的页面,页面上有一个DropDownList控件,绑定的是实体中的重要属性,我希望用户在修改该控件值的时候,提示用户,他修改了该控件的值.所以为该下拉控件加上了如下语句. 复制代码 代码如下: DDLmaterial.Attributes.Add("onchange", "alert('注意:您修改了物品类型!')"); 似乎不错,不仅有提示效果,也不需要刷新页面.可是当我打开页面进行测试的时候就发现了问题,当我把下拉控件的值改回原值的时候,它还

  • Javascript级联下拉菜单以及AJAX数据验证核心代码

    虽然也使用了Prototype.js来编写,但是由于对它的不了解,类的实现仍然是使用了<JavaScript高级程序设计>里的方法.使用AJAX进行数据验证时,最初使用的是XML来当数据源,然而在使用了一段时间后,发现XML效率太低,于是又使用JSON来做为数据源. 一年过去了,客户又提出了新的需求,最初是只要输入框的两个数据相符就行,现在的要求是两个下拉菜单的数据也要相符,于是,我利用此机会,将代码重构了一次. 需求: 1.根据下拉菜单产品名称.产品包装的选择,右面的图片要进行相应的变化.

  • 符合标准的js表单提交的代码

    复制代码 代码如下: <script language="javascript" type="text/javascript">          document.forms["form_name"].submit(); </script>

  • Web表单提交之disabled问题js解决方法

    本文实例讲述了Web表单提交之disabled问题js解决方法.分享给大家供大家参考.具体分析如下: 例如,有如下表单 复制代码 代码如下: <form id="inputForm" action="shorttermrental.action" method="post">      <input name="pname" type="text" id="pname"

  • JS定义网页表单提交(submit)的方法

    本文实例讲述了JS定义网页表单提交(submit)的方法.分享给大家供大家参考.具体如下: 这段代码表示网页表单提交时不是提交到指定的页面,而是执行一个特定的函数 <script> function saveInfo() { localStorage.setItem("name",$("#name").val()); } </script> <form id=register onSubmit="return saveInfo

  • JavaScript判断表单提交时哪个radio按钮被选中的方法

    本文实例讲述了JavaScript判断表单提交时哪个radio按钮被选中的方法.分享给大家供大家参考.具体分析如下: 这里的表单提交时通过JavaScript判断哪个radio按钮被选中了 <script type="text/javascript"> function findButton() { var myForm = document.forms.animalForm; var i; for(i=0;i<myForm.marsupial.length; i++

  • 如何使用JavaScript和正则表达式进行数据验证

    数据验证是网络应用软件从客户端接受数据的重要步骤,毕竟,您需要在使用客户数据前确保其符合预期的格式.在网络应用程序中,您可以选择使用特定平台的工具,比如ASP.NET.JSP等等,或者您可以利用客户端JavaScript的优势,JavaScript中的正则表达式可以简化数据验证的工作. 正则表达式 正则表达式是一种模式匹配的工具,它允许您以文字方式来表述模式,因而正则表达式成为了一个验证文本数据的强大工具.除了模式匹配之外,正则表达式还可以用于文字替换.从我在UNIX系统上使用Perl时第一次接

  • javascript 回车键触发表单提交的问题

    比如搜索行为,希望输入完关键词之后直接按回车键立即提交表单,而有些复杂表单,可能要避免回车键误操作在未完成表单填写的时候就触发了表单提交. 要控制这些行为,不需要借助JS,浏览器已经帮我们做了这些处理,这里总结几条规则: 如果表单里有一个type="submit"的按钮,回车键生效. 如果表单里只有一个type="text"的input,不管按钮是什么type,回车键生效. 如果按钮不是用input,而是用button,并且没有加type,IE下默认为type=bu

  • 可实现多表单提交的javascript函数

    <script language=javascript> function submitForm(formId,action){     var form=document.getElementById(formId);     form.action=action;     form.submit(); } </script> 传个表单ID和url进去就行了~

  • 表单提交时自动复制内容到剪贴板的js代码

    <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>交时自动复制到剪贴板</title> </head> <script language="JavaScript"> /*功能:提交时自动复制到剪贴板 */ function copyTe

随机推荐