Die Formularvalidierung erkennt ungültige Daten und markiert diese Fehler für Endbenutzer, was eine Optimierung der Benutzererfahrung darstellt.
Im Folgenden ist die Verifizierungsfunktion dargestellt, die im Browser enthalten ist und auch auf dem mobilen Endgerät angezeigt werden kann:
HTML-Teil:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0"> <title>html5 表单验证</title> </head> <body> <form action="#" id="formValid" class="myform" novalidate="novalidate" onsubmit="return checkForm()"> <fieldset> <div class="form-group"> <label for="name">名称</label> <div> <input type="text" class="form-control" id="name" name="name" required/> <span class="form-error">不能为空</span> </div> </div> <div class="form-group"> <label for="email">邮箱</label> <div> <input type="email" class="form-control" id="email" name="email" required/> <span class="form-error">邮箱格式不正确</span> </div> </div> <div class="form-group"> <label>省份</label> <select name="province" class="form-control"> <option value="">请选择</option> <option value="s">四川</option> <option value="c">重庆</option> </select> </div> <input type="submit" class="btn" value="提交"/> </fieldset> </form> </body> </html>
CSS-Teil:
fieldset{border: 0;} .myform .form-control{ display: block; padding: 5px; width: 100% } .myform input:focus:invalid + .form-error{ display: inline; } .myform .form-error{ display: none; position: absolute; margin-top: .7em; padding: 1px 2px; color: #fff; font-size: .875rem; background: #f40; } .myform .form-error:after{ position: absolute; content: ""; top: -.5em; left: .5em; z-index: 100; display: inline-block; width: 0; height: 0; vertical-align: middle; border-bottom: .5em solid #f40; border-right: .5em solid transparent; border-left: .5em solid transparent; border-top: 0 dotted; transform: rotate(360deg); overflow: hidden; } .btn{ padding: 5px 20px; }
JavaScript-Teil:
function checkForm(){ var myform = document.getElementById("formValid"); return check(myform.elements); } function check(eles){ var ele; for(var i = 0;i<eles.length;i++){ ele = eles[i]; if(ele.nodeName == "SELECT"){ if(!ele.selectedIndex){ alert("请选择省份"); return false; } }else if(ele.name){ if(!ele.checkValidity()){ ele.focus(); return false; } } } return true; }
Das Obige ist der gesamte Code für Javascript in Kombination mit HTML5 zur Implementierung der Formularüberprüfung. Ich hoffe, dass er für das Lernen aller hilfreich sein wird.