AngularJs+;角材料表单提交两次

AngularJs+;角材料表单提交两次,angularjs,forms,form-submit,Angularjs,Forms,Form Submit,我正在使用AngularJs+AngularMaterial创建一个注册表。我遇到的麻烦是,当表格有效并提交时,它会提交两次。我不明白为什么 我不会两次声明控制器。控制器仅在路由提供程序中声明。 我没有同时使用ngSubmit和ngClick 表单的Html代码 <form ng-submit="registerForm.$valid && performRegister()" name="register

我正在使用AngularJs+AngularMaterial创建一个注册表。我遇到的麻烦是,当表格有效并提交时,它会提交两次。我不明白为什么

我不会两次声明控制器。控制器仅在路由提供程序中声明。 我没有同时使用ngSubmit和ngClick

表单的Html代码

        <form 
            ng-submit="registerForm.$valid && performRegister()" 
            name="registerForm" 
            novalidate>
            <md-input-container class="md-block">
                <label>Name</label>
                <input 
                    type="text" 
                    name="name" 
                    ng-model="register.user.name" 
                    required>
                <div ng-messages="registerForm.name.$error">
                    <div ng-message="required">Inserisci il tuo nome</div>
                </div>
            </md-input-container>
            <md-input-container class="md-block">
                <label>Email</label>
                <input 
                    type="email" 
                    name="email" 
                    ng-model="register.user.email" 
                    ng-pattern="pattern.emailPattern" 
                    required>
                <div ng-messages="registerForm.email.$error">
                    <div ng-message="required">Inserisci la tua mail</div>
                    <div ng-message="pattern">Devi inserire una mail valida</div>
                </div>
            </md-input-container>
            <p>
                <md-button 
                    type="submit" 
                    class="button-block">Register</md-button>
            </p>
        </form>
每次我使用submit按钮提交表单时,performRegister()函数都会被调用两次,并且我会在控制台中看到两次消息。 如果我使用Enter键提交表单,它将提交一次。 知道为什么会这样吗?
非常感谢。

我在申请中遇到了类似的问题。这就是我为解决这个问题所做的

我在md按钮中添加了'ng click=“performRegister()”(以代码为例),并从'form'标记中删除了相同的函数

所以最后它看起来像:

<form 
        ng-submit="registerForm.$valid" 
        name="registerForm" 
        novalidate>
    ..
    ...
<md-button type="submit" ng-click="performRegister()"
                class="button-block">Register</md-button>

..
...
登记

如果这有帮助,请告诉我。

我在应用程序中遇到了类似的问题。这就是我为解决这个问题所做的

我在md按钮中添加了'ng click=“performRegister()”(以代码为例),并从'form'标记中删除了相同的函数

所以最后它看起来像:

<form 
        ng-submit="registerForm.$valid" 
        name="registerForm" 
        novalidate>
    ..
    ...
<md-button type="submit" ng-click="performRegister()"
                class="button-block">Register</md-button>

..
...
登记
如果有帮助,请告诉我