我一直关注这个AngularJS - Server side validation and client side forms SO问题,但我似乎无法让它发挥作用。
给出以下代码:
<div ng-controller='LoginCtrl'>
<form id="myForm" onsubmit="return false;" novalidate>
<input type="text" ng-model="model.userName" />
<button ng-click="login()">Login</button>
</form>
</div>
和
app.controller('LoginCtrl', ['$scope', function ($scope) {
$scope.model = { userName: '' };
$scope.login = function () {
console.log($scope.myForm); // <-- this is undefined
};
}]);
console.log显示未定义。我认为通过将表单包含为控制器div的子项,angular会自动将表单作为变量包含在我的范围内。
我在这里做错了什么?
答案 0 :(得分:2)
将表单标记更改为
<form name="myForm" onsubmit="return false;" novalidate>
更多点
尝试在使用角色时不使用id,这将帮助你摆脱jquery
使用ng-form而不是表单标签,然后您可以拥有子表单,每个表单都有自己的验证状态...