萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> 一個檢測表單數據的JavaScript實例

一個檢測表單數據的JavaScript實例

 一個檢測表單數據的JavaScript實例,很簡單,很實用,感興趣的朋友可以看看

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 <!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>&l
copyright © 萬盛學電腦網 all rights reserved