请问如何调用 form input 的检查机制,而不要 submit 跳转页面?
请问如何调用 form input 的检查机制,而不要 submit 跳转页面?
目前调用 js 的 submit 方法,浏览器会检查 input 的条件像是 require, min, max 等但是假如检查都通过会 submit 跳转页面想要不跳转 URL 页面,也能检查,自动会 scroll 到有问题 input,并跳出浏览器自带的提示词
回复
1个回答
test
2024-06-24
满足验证后自动跳转页面(提交表单)这本来就是符合预期的行为呀,按你的需求,表单就提交不出去了。
当然有办法,在 form 的 submit 事件里面阻止默认行为(成功时提交表单)就好了,未通过验证的是不会进入到 submit 事件的。
<form action="" id="form1">
<input type="text" required>
<input type="submit">
</form>
<script>
const form1 = document.querySelector('#form1');
form1.addEventListener('submit', function (ev) {
ev.preventDefault();
console.log('通过验证');
});
</script>
如果你想要手动验证表单/输入框(任何时候),可以使用表单/输入框的方法(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
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容