一个检测表单数据的JavaScript实例


Posted in Javascript onOctober 31, 2014

一个检测表单数据的JavaScript实例,很简单,很实用,感兴趣的朋友可以看看

<!DOCTYPE html> 
  <html> 
  <head> 
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
  <title>每天一个JavaScript实例-检测表单数据</title> 
  <style> 
    [role="alert"]{ 
      background-color: #fcc; 
      font-weight: bold; 
      padding:5px; 
      border:1px dashed #000; 
    } 
    div{ 
      margin:10px 0; 
      padding:5px; 
      width:400px; 
      background-color: #fff; 
    } 
  </style> 
   
  <script> 
  window.onload = function(){ 
    document.getElementById("thirdfield").onchange = validateField; 
    document.getElementById("firstfield").onblur = mandatoryField; 
    document.getElementById("testform").onsubmit = finalCheck; 
  } 
  function validateField(){ 
    removeAlert(); 
    if(!isNaN(parseFloat(this.value))){ 
      resetField(this); 
    }else{ 
      badField(this); 
      generateAlert("You entered an invalid value in Third Field. only numeric values such as 105 or 3.45 are allowed"); 
    } 
  } 
  function removeAlert(){ 
    var msg = document.getElementById("msg"); 
    if(msg){ 
      document.body.removeChild(msg); 
    } 
  } 
  function resetField(elem){ 
    elem.parentNode.setAttribute("style","background-color:#fff"); 
    var valid = elem.getAttribute("aria-invalid"); 
    if(valid) elem.removeAttribute("aria-invalid"); 
  } 
  function badField(elem){ 
    elem.parentNode.setAttribute("style","background-color#fee"); 
    elem.setAttribute("aria-invalid","true"); 
  } 
  function generateAlert(txt){ 
    var txtNd = document.createTextNode(txt); 
    msg = document.createElement("div"); 
    msg.setAttribute("role","alert"); 
    msg.setAttribute("id","msg"); 
    msg.setAttribute("class","alert"); 
   
    msg.appendChild(txtNd); 
    document.body.appendChild(msg); 
  } 
   
  function mandatoryField(){ 
    removeAlert(); 
    if(this.value.length > 0 ){ 
      resetField(this); 
    }else{ 
      badField(this); 
      generateAlert("You must enter a value into First Field"); 
    } 
  } 
  function finalCheck(){ 
    //console.log("aaa"); 
    removeAlert(); 
   
    var fields =document.querySelectorAll('input[aria-invalid="true"]'); 
    //var fields =document.querySelectorAll("input[aria-invalid='true']");//错误!!! 
    console.log(fields); 
    if(fields.length > 0){ 
      generateAlert("You have incorrect fields entries that must be fixed before you can submit this form"); 
      return false; 
    } 
  } 
  </script> 
   
  </head> 
   
  <body> 
  <form id = "testform"> 
    <div> 
      <label for="firstfield">*first Field:</label><br /> 
      <input id="firstfield" name = "firstfield" type = "text" aria-required = "true" /> 
    </div> 
   
    <div> 
      <label for="secondfield">Second Field:</label><br /> 
      <input id="secondfield" name = "secondfield" type = "text" /> 
    </div> 
   
    <div> 
      <label for="thirdfield">Third Field(numeric):</label><br /> 
      <input id="thirdfield" name = "thirdfield" type = "text" /> 
    </div> 
   
    <div> 
      <label for="fourthfield">Fourth Field:</label><br /> 
      <input id="fourthfield" name = "fourthfield" type = "text" /> 
    </div> 
   
    <input type="submit" value = "Send Data" /> 
  </form> 
   
  </body> 
  </html>
Javascript 相关文章推荐
破除一些网站复制、右键限制
Nov 04 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
Jun 26 Javascript
jquery提交form表单简单示例分享
Mar 03 Javascript
javascript中Date对象的getDay方法使用指南
Dec 22 Javascript
JavaScript实现定时隐藏与显示图片的方法
Aug 06 Javascript
JavaScript基本数据类型及值类型和引用类型
Aug 25 Javascript
JS实现iframe自适应高度的方法(兼容IE与FireFox)
Jun 24 Javascript
js 提交form表单和设置form表单请求路径的实现方法
Oct 25 Javascript
JavaScript实现封闭区域布尔运算的示例代码
Jun 25 Javascript
在Vue项目中使用snapshot测试的具体使用
Apr 16 Javascript
axios异步提交表单数据的几种方法
Aug 11 Javascript
jQuery 实现扁平式小清新导航
Jul 07 jQuery
JS 打印功能代码可实现打印预览、打印设置等
Oct 31 #Javascript
使用JQ来编写最基本的淡入淡出效果附演示动画
Oct 31 #Javascript
Jquery修改页面标题title其它JS失效的解决方法
Oct 31 #Javascript
jQuery实现响应浏览器缩放大小并改变背景颜色
Oct 31 #Javascript
Thinkphp模板没有解析直接原样输出的解决方法
Oct 31 #Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
Oct 31 #Javascript
JsRender实用入门教程
Oct 31 #Javascript
You might like
php中flush()、ob_flush()、ob_end_flush()的区别介绍
2013/02/17 PHP
七款最流行的PHP本地服务器分享
2013/02/19 PHP
ThinkPHP的SAE开发相关注意事项详解
2016/10/09 PHP
php实现银联商务公众号+服务窗支付的示例代码
2019/10/12 PHP
在js中使用&quot;with&quot;语句中跨frame的变量引用问题
2007/03/08 Javascript
在javascript中实现函数数组的方法
2013/12/25 Javascript
浅谈javascript属性onresize
2015/04/20 Javascript
详解Angular2中的编程对象Observable
2016/09/17 Javascript
JavaScript中数组Array.sort()排序方法详解
2017/03/01 Javascript
微信浏览器禁止页面下拉查看网址实例详解
2017/06/28 Javascript
解决vue里碰到 $refs 的问题的方法
2017/07/13 Javascript
vue 2.0封装model组件的方法
2017/08/03 Javascript
vue中element-ui表格缩略图悬浮放大功能的实例代码
2018/06/26 Javascript
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
2018/08/17 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
微信小程序实现时间进度条功能
2020/11/17 Javascript
jquery将信息遍历到界面上实例代码
2020/01/21 jQuery
基于JS正则表达式实现模板数据动态渲染(实现思路详解)
2020/03/07 Javascript
vue实现图片上传到后台
2020/06/29 Javascript
three.js 制作动态二维码的示例代码
2020/07/31 Javascript
python利用datetime模块计算时间差
2015/08/04 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
Annoushka英国官网:英国奢侈珠宝品牌
2018/10/20 全球购物
介绍一下Cookie和Session及他们之间的区别
2012/11/20 面试题
应聘自荐信
2013/12/14 职场文书
仓库理货员岗位职责
2013/12/18 职场文书
参观考察邀请函范文
2014/01/29 职场文书
房产代理公证处委托书
2014/04/04 职场文书
爱与责任演讲稿
2014/05/20 职场文书
令人印象深刻的自荐信
2014/05/25 职场文书
关于读书的演讲稿300字
2014/08/27 职场文书
社区班子对照检查材料
2014/08/27 职场文书
师德师风培训感言
2015/08/03 职场文书
写作技巧:优秀文案必备的3种结构
2019/08/19 职场文书
redis sentinel监控高可用集群实现的配置步骤
2022/04/01 Redis