一個檢測表單資料的JavaScript執行個體

來源:互聯網
上載者:User

 一個檢測表單資料的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><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>
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.