每天一個JavaScript執行個體-檢測表單資料

來源:互聯網
上載者:User

標籤:bad   ash   pos   submit   表單   change   invalid   char   hang   

<!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執行個體-檢測表單資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.