onsubmit阻止表单提交

在实际开发中往往会遇到检查表单数据的合法性,如果数据不合法,就不让其提交。

先看以下简单的代码。

复制代码
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script language="javascript">
//--->
function checksubmit()
{
  if (document.form1.myname.value=="")
        {
           alert("请输入开始数值!");
           document.form1.myname.focus();
           return false;
        } 
          return true;  
}
//--->
</script>

<form name="form1" method="post" action="#" οnsubmit="return checksubmit()">
  <label>
  <input name="myname" type="text" id="id">
  </label>
  <p>
    <label>
    <input type="submit" name="Submit" value="提交">
    </label>
  </p>
</form>
复制代码

代码很简单。

注意以下几点:

1,在js中,是获得input的name,而不是id,往往这里的name和id一样。

2,οnsubmit="return checksubmit()" 这里的return不能省掉。

3,checksubmit()函数里面的return true;可以省去,因为默认是返回true;





在JavaScript中,阻止表单默认提交行为的方法有两种,分别是:

(1) return false

示例代码

?
<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!");
  return false;
 };
</script>


(2) 使用preventDefault()

在标准浏览器中,阻止浏览器默认行为使用event.preventDefault(),而在IE6~8中,使用returnValue属性来实现。

示例代码

<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>


?

以上就是利用JavaScript来阻止表单提交的两种方法的全部内容,希望本文的内容对大家使用JavaScript有所帮助。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值