一个检测表单数据的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 相关文章推荐
理解JavaScript中的事件
Sep 23 Javascript
用cssText批量修改样式
Aug 29 Javascript
MooTools 1.2中的Drag.Move来实现拖放
Sep 15 Javascript
jquery dialog键盘事件代码
Aug 01 Javascript
js判断checkbox是否选中个数的方法(超简单)
Aug 19 Javascript
js仿淘宝评价评分功能
Feb 28 Javascript
html5+canvas实现支持触屏的签名插件教程
May 08 Javascript
Vue实现移动端页面切换效果【推荐】
Nov 13 Javascript
vue实现购物车选择功能
Jan 10 Javascript
JS控制下拉列表左右选择实例代码
May 08 Javascript
Javascript如何实现扩充基本类型
Aug 26 Javascript
vue编写简单的购物车功能
Jan 08 Vue.js
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上传文件常见问题总结
2015/02/03 PHP
php实现用户注册密码的crypt加密
2017/06/08 PHP
PHP yield关键字功能与用法分析
2019/01/03 PHP
javascript一些不错的函数脚本代码
2008/09/10 Javascript
基于jQuery实现表单提交验证
2014/11/24 Javascript
基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
2016/01/05 Javascript
修改js confirm alert 提示框文字的简单实例
2016/06/10 Javascript
js中遍历对象的属性和值的方法
2016/07/27 Javascript
解决wx.onMenuShareTimeline出现的问题
2016/08/16 Javascript
Vue.js Ajax动态参数与列表显示实现方法
2016/10/20 Javascript
JS限制条件补全问题实例分析
2016/12/16 Javascript
用nodeJS搭建本地文件服务器的几种方法小结
2017/03/16 NodeJs
Angularjs的启动过程分析
2017/07/18 Javascript
纯js实现页面返回顶部的动画(超简单)
2017/08/10 Javascript
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
2019/06/19 Javascript
jquery实现直播弹幕效果
2019/11/28 jQuery
深入理解redux之compose的具体应用
2020/01/12 Javascript
JS判断数组是否包含某元素实现方法汇总
2020/06/24 Javascript
python使用BeautifulSoup分页网页中超链接的方法
2015/04/04 Python
Python socket实现简单聊天室
2018/04/01 Python
python3去掉string中的标点符号方法
2019/01/22 Python
face++与python实现人脸识别签到(考勤)功能
2019/08/28 Python
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
html5菜单折纸效果
2014/04/22 HTML / CSS
很酷的HTML5电子书翻页动画特效
2016/02/25 HTML / CSS
服装电子商务创业计划书
2014/01/30 职场文书
企业道德讲堂实施方案
2014/03/19 职场文书
中学生家长评语大全
2014/04/16 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
计算机专业自荐信
2015/03/05 职场文书
签字仪式主持词
2015/07/03 职场文书
七一表彰大会简报
2015/07/20 职场文书
2016年入党心得体会范文
2016/01/23 职场文书
浅谈Redis中的RDB快照
2021/06/29 Redis
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python
xhunter1.sys可以删除嘛? win11提示xhunter1.sys驱动不兼容解决办法
2022/09/23 数码科技