最近在写页面的时候,需要手动写一些在表单进行提交前的验证操作,正好看到了2种阻止表单提交的方法,可以进行一些逻辑处理
方法一:使用return false
原生js写法: <form id="loginForm" name="loginForm" action="login.aspx" method="post"> <button type="submit" value="Submit" id="submit">Submit</button> </form> <script> var submitBtn = document.getElementById("submit"); submitBtn.onclick = function (event) { alert("preventDefault!"); return false; }; </script> jquery写法: <script> $("#loginForm").submit(function(){ if(条件){ //此处这里进行逻辑处理 }else{ return false; } }) </script> //这里发现的一个问题就是,在用jq写法的时候,只要不返回false,逻辑处理完也会自动提交表单
方法二:使用preventDefault()
<form name="loginForm" action="login.aspx" method="post"> <button type="submit" value="Submit" id="submit">Submit</button> </form> <script> var submitBtn = document.getElementById("submit"); submitBtn.onclick = function (event) { alert("preventDefault!"); var event = event || window.event; event.preventDefault(); // 兼容标准浏览器 window.event.returnValue = false; // 兼容IE6~8 }; </script>
时间: 2024-10-11 07:46:05