请问如何调用 form input 的检查机制,而不要 submit 跳转页面?-灵析社区

时光旅人

请问如何调用 form input 的检查机制,而不要 submit 跳转页面? 目前调用 js 的 submit 方法,浏览器会检查 input 的条件像是 require, min, max 等 但是假如检查都通过会 submit 跳转页面 想要不跳转 URL 页面,也能检查,自动会 scroll 到有问题 input,并跳出浏览器自带的提示词

阅读量:13

点赞量:0

问AI
满足验证后自动跳转页面(提交表单)这本来就是符合预期的行为呀,按你的需求,表单就提交不出去了。 当然有办法,在 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)