看下这节课js部分这样修改是不是也可以
来源:4-13 html5默认气泡修改演示
人生的起源
2019-06-28 00:55:15
<script> function replaceValidationUI(form) { form.addEventListener("invalid", function(event) { event.preventDefault(); var inValidityField = form.querySelectorAll(":invalid"), errorMessage = form.querySelectorAll(".error-message"), parent; for (var i = 0; i < errorMessage.length; i++) { errorMessage[i].parentNode.removeChild(errorMessage[i]); } for (var i = 0; i < inValidityField.length; i++) { parent = inValidityField[i].parentNode; parent.insertAdjacentHTML("beforeend", "<div class='error-message'>" + inValidityField[i].validationMessage + "</div>") } if (inValidityField.length > 0) { inValidityField[0].focus(); } }, true); } var form = document.getElementById("forms"); replaceValidationUI(form); </script>
没搞明白为什么需要监听表单的"submit"事件,所以我在这里去掉了监听"submit"事件,也不明白为什么要在点击按钮的时候才开始获取不符合验证的元素,所以我在form元素监听"invalid"的时候就开始获取不符合验证的元素,然后添加错误提示,最后发现好像也能实现效果,老师帮忙看下这样行不行,如果不行帮我解答一下上面的那两个疑惑,谢谢
1回答
同学你好, 你这样写也是可以的, 因为type类型为submit的按钮,默认有提交表单功能
监听表单的submit是为了在输入不正确的时候,阻止表单的默认提交事件
点击按钮是因为表单验证的API默认在表单提交的时候才开始验证哦
如果帮助到了你, 欢迎采纳!
祝学习愉快~~
相似问题