表单验证为终端用户检测无效的数据并标记这些错误,是一种用户体验的优化。
下面展现浏览器自带的验证功能也可在移动端中查看:
HTML部分:
<!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部分:
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部分:
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; }
以上就是javascript结合html5实现表单验证的全部代码,希望对大家的学习有所帮助。
本文地址:https://www.stayed.cn/item/15397
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我