首页 > 编程 > JavaScript > 正文

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

2019-11-20 13:58:22
字体:
来源:转载
供稿:网友

一个检测表单数据的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> 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表