表单出现提交两次的问题的解决

表单出现提交两次的问题的解决


自己在做项目时,遇见表单提交两次的情况,贴上代码

  <form class="form-horizontal m-t pull-left" id="signupForm" ng-submit="signupForm($event)">
                    <div class="form-group">
                        <label for="telephone" class="col-sm-3 control-label">手机号码</label>
                        <div class="col-sm-8">
                            <input ng-model="user.telephone" id="telephone" name="telephone" class="form-control" type="text" placeholder="请输入手机号" required autofocus  pattern="^[1][358][0-9]{9}$">
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="setPass" class="col-sm-3 control-label">设置密码</label>
                        <div class="col-sm-8">
                            <input ng-model="user.password" id="setPass" name="setPass" class="form-control" type="password" placeholder="请输入6到12位字符" required pattern="\w{6,12}">
                        </div>
                    </div>
                    <div class="form-group">
                        <div class="col-sm-8 col-sm-offset-3">
                            <button class="btn btn-success" type="submit" id="signup" >注册</button>
                        </div>
                    </div>
                </form>

1.问题出现的原因

表单form默认存在一个提交的动作,自己再重写一个表单提交的动作,就会出现这样的问题,然而在这个需求里面,我需要使用到H5的默认表单验证,我的提价按钮的type类型需要为submit,如果更改为button,虽然没有出现两次提交,但验证则失效

2.问题的解决方案

重新定义表单的submit方法,进行绑定,同时阻止默认提交 event.preventDefault()

posted @ 2017-04-17 11:51  Queen-英  阅读(6775)  评论(0编辑  收藏  举报