JS中submit提交的问题

<form id="ff" action=" " method="post" >
		<input type="text" name="username" class="form-control" placeholder="用户名" required>
		 <input type="submit" name="submit"  value="提交" onclick="check()">
	</form>

这种提交表单时,不管onclick方法通不通过都会提交表单。解决方法有以下几个:

1、将submit改为button  然后在onclick方法中提交表单

<form id="f2" action=" " method="post" >
		<input type="text" name="username" class="form-control" placeholder="用户名" required>
         <input type="password" id="pwd" name="password" class="form-control" placeholder="密码" required="required">
         <input type="password" id="repwd" name="repassword" class="form-control" placeholder="确认密码" required="required">
		 <input type="button" name="submit"  value="提交" onclick="check()">
	</form>



<script type="text/javascript">
	function check(){
		if($("#pwd").val()!=$("#repwd").val()){
			alert("两次密码不一致!");
			return false;
		}
		$("#f2").submit();
	}

</script>

不过要注意这种提交方式会使input中的required属性失效,好像是因为jquery提交表单所以不验证,可以用下面的方法避免这个问题

2、给form表单添加onsubmit事件

function check(){
   var name = document.getElementById("name").value;
   if(name ==  null || name == ''){
        alert("用户名不能为空");
        return false;
   }
   return true;
}

<form name="form" action=" " method="post"  onsubmit="return check()">
  <input type="text" id="name"/>
  <input type="sumit" value="提交"/>
</form>

需要注意的是,οnsubmit=“return check()”中的return是一定要加上的,不然check的返回值哪怕是false,仍然提交。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值