背景:在form表单中添加button会自动提交表单并跳转刷新网页,在input这个元素添加required会检测是否为空,但是如果给button返回false,就不会跳转了但是随之input的required也会失效,怎么在既不让它跳转并且还可以检测是否为空?
demo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!-- 如果 action="JavaScript:;"这样写可以在一定情况下解决问题
但是如果这个页面需要往另一个页面发送 ajax请求就也还是会刷新页面
-->
<form action="JavaScript:;">
测试: <input required type="text">
<button id="btn">提交</button>
</form>
<script>
let btn = document.querySelector('#btn')
btn.onclick = function () {
// 如果写 return 就会干掉自动检测为空
console.log(1)
// return false
}
</script>
</body>
</html>
···html
实在不行,那就不用form表单提交呗,改用jq的ajax提交