满足验证后自动跳转页面(提交表单)这本来就是符合预期的行为呀,按你的需求,表单就提交不出去了。 当然有办法,在 form 的 submit 事件里面阻止默认行为(成功时提交表单)就好了,未通过验证的是不会进入到 submit 事件的。 const form1 = document.querySelector('#form1'); form1.addEventListener('submit', function (ev) { ev.preventDefault(); console.log('通过验证'); }); 如果你想要手动验证表单/输入框(任何时候),可以使用表单/输入框的方法(`checkValidity`/`reportValidity`) console.log(myform.checkValidity()); // return boolean , true if form is valid, false if anything is invalid in the form console.log(myform.reportValidity()); // will throw error explaining why `form.checkValidity()` returning false * [javascript - How to use HTML form.checkValidity()? - Stack Overflow](https://link.segmentfault.com/?enc=xIAx7v3LCP7BiZXkIw2ezQ%3D%3D.Kooxgt%2Bk2DIZ8gTDLtU%2FPGhUecMRJYRf3Ktx0%2BeMza96E%2F%2B0eduJsuNidCx7ow5Z) * [HTMLFormElement: reportValidity() method - Web APIs | MDN](https://link.segmentfault.com/?enc=6cW4lggmwsHtdGczxg6xDw%3D%3D.RBrh1m%2BMN9U7PHEkaoOQkyCqt9EoKBTfH4wE4RY1Hl%2FJZ0ZdNFlWfcwUuB3ySR9ZNFPs9yCd7iv1een%2BYLKEPDXax3W4YTTD5v7gxztrKrA%3D) * [HTMLInputElement: checkValidity() method - Web APIs | MDN](https://link.segmentfault.com/?enc=BWtLnRO%2FVYsnrIqqKP7%2BEQ%3D%3D.wPJadAmumpBdU3meCltP6THsR9c9pGnucfQxDxzCDLFEJ79viVtcox80SEtqSsUuYq2lS67igcvJhGCUa6%2B2cr086ATfqf03EU2dSoSp8QE%3D)