Javascript v2.login不是一个函数
我正在尝试验证以下表单:Javascript v2.login不是一个函数,javascript,angularjs,forms,Javascript,Angularjs,Forms,我正在尝试验证以下表单: // JS $scope.fields = [ { text: 'Username', type: 'text', value: ''}, { text: 'Phone', type: 'text', value: ''}, { text: 'Password', type: 'password', value: ''}, { text: 'Confirm password', type: 'password', value: ''} ] $scope
// JS
$scope.fields = [
{ text: 'Username', type: 'text', value: ''},
{ text: 'Phone', type: 'text', value: ''},
{ text: 'Password', type: 'password', value: ''},
{ text: 'Confirm password', type: 'password', value: ''}
]
$scope.login = function () {
console.log('Logged in')
}
// HTML
<div class="user">
<h2 class="header">Log in</h2>
<form name="login">
<div ng-repeat="field in fields">
<input class="form-control" type="{{ field.type }}" placeholder="{{ field.text }}" ng-model="field.value" name="{{ field.text }}" required />
<div ng-show="(login[field.text].$touched || login.$submitted) && (login[field.text].$error.required)">
<span class="help-block">Please enter {{field.text}}</span>
</div>
</div>
<a class="btn primary" href="javascript:;" ng-click="login()">Log in</a>
<a href="#/signup">Sign up</a>
<a href="#/forgot-password">Forgot password</a>
<a id="skip" href="#">Skip</a>
</form>
</div>
现在什么也没发生。当我单击“提交”时,甚至没有出现登录的
消息。尝试将表单名称更改为其他名称。ng click函数和名称不应相同。您必须在html页面上定义ng控制器。我更改了名称(将其转换为ngSubmit
)。现在什么也没发生。请看我的编辑。你能告诉我们你的控制器是如何在HTML中定义和调用的吗?你用路由器吗?这似乎是一个问题,可能是由于不正确使用controllerAs
语法造成的。
// JS
$scope.submit = function () {
console.log('Logged in')
}
// HTML
<div class="user">
<h2 class="header">Log in</h2>
<form name="login" ng-submit="submit()">
<div ng-repeat="field in fields">
<input class="form-control" type="{{ field.type }}" placeholder="{{ field.text }}" ng-model="field.value" name="{{ field.text }}" required />
<div ng-show="(login[field.text].$touched || login.$submitted) && (login[field.text].$error.required)">
<span class="help-block">Please enter {{field.text}}</span>
</div>
</div>
<input class="btn primary" type="submit" value="Log in" />
<a href="#/signup">Sign up</a>
<a href="#/forgot-password">Forgot password</a>
<a id="skip" href="#">Skip</a>
</form>
</div>