<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,仍然提交。