我无法获取ngDialog中表单的名称。 我的对话框是:
$scope.dialogAddNewParent = ngDialog.open({
template: 'addNewParentDialog',
className: 'ngdialog-theme-default dialogwidth550',
scope: $scope
});
问题是在ngDialog中我有一个来自名称=" addNewParentForm",但是当我试图将此表单验证到我的控制器时,我无法获得名称我的表格,所以我得到这个错误。
Cannot read property 'lastName' of undefined
lastName是我表单输入的名称。
在我的html中我有这个对话框的脚本:
<script type="text/ng-template" id="addNewParentDialog">
<div class="p-lg" style="color:#748690">ADD NEW PARENT</div>
<form name="addNewParentForm" ng-submit="addNewParent(addNewParentForm.$valid)" novalidate class="form-validate form-horizontal p-lg">
<div class="form-group">
<label style="color:#1a9fc8" class="col-sm-3 control-label">Last Name*</label>
<div class="col-sm-9">
<input type="text" name="lastName" ng-model="new_parent.lastName" required="" ng-maxlength=80 class="form-control" value="{{new_parent.lastName}}" />
<span ng-show="addNewParentForm.lastName.$dirty && addNewParentForm.lastName.$error.required" class="text-danger">This field is required</span>
<span ng-show="addNewParentForm.lastName.$dirty && addNewParentForm.lastName.$error.maxlength" class="text-danger">Input cannot be longer than 80 characters</span>
</div>
</div>
<div class="form-group">
<label style="color:#1a9fc8" class="col-sm-3 control-label">First Name*</label>
<div class="col-sm-9">
<input type="text" name="firstName" ng-model="new_parent.firstName" required="" ng-maxlength=80 class="form-control" value="{{new_parent.firstName}}" />
<span ng-show="addNewParentForm.firstName.$dirty && addNewParentForm.firstName.$error.required" class="text-danger">This field is required</span>
<span ng-show="addNewParentForm.firstName.$dirty && addNewParentForm.firstName.$error.maxlength" class="text-danger">Input cannot be longer than 80 characters</span>
</div>
</div>.......
并在我的控制器中
....$scope.addParent = function (choice) {
switch (choice) {
case 1:
$scope.dialogAddNewParent = ngDialog.open({
template: 'addNewParentDialog',
className: 'ngdialog-theme-default dialogwidth550',
scope: $scope
});
break;
case 2:
$scope.dialogAddNewParentFromList = ngDialog.open({ template: 'addNewParentFromListDialog', controller: 'StudentEditController', className: 'ngdialog-theme-default dialogwidth350 ngdialog-overlay', overlay: false, scope: $scope, data: {} });
break;
}
}
$scope.addNewParent = function (valid) {
$scope.submitted = true;
var input = $scope.addNewParentForm;
if (valid) {
$scope.dialogAddNewParent.close();
$scope.parents.push($scope.new_parent);
console.log('Parents', $scope.parents)
} else {
console.log('Not valid!!');
$scope.addNewParentForm.lastName.$dirty = true;//here is the problem with undefined
}
};.....
谢谢!