js 在表单提交前进行操作

Posted 点墨花花

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 在表单提交前进行操作相关的知识,希望对你有一定的参考价值。

最近在写页面的时候,需要手动写一些在表单进行提交前的验证操作,正好看到了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>

以上是关于js 在表单提交前进行操作的主要内容,如果未能解决你的问题,请参考以下文章

在表单提交前进行验证的几种方式

form表单提交前进行ajax验证

form提交,并用js验证手机号码

如何防止重复提交表单?

Angular.js:表单提交操作未调用

HTML 表单提交 的简单代码