1
同じコントローラの中に2つのフォームがあります。ng-modelでフォームデータを取得できません
<form name="myForm" id="myForm" class="form-horizontal" ng-submit="saveMyForm(myForm)" >
<input type="text" id="name" ng-model="name" />
//...etc
</form>
とパスワードが、私は
app.directive('pwCheck', [function() {
return {
require: 'ngModel',
link: function (scope, elem, attrs, ctrl) {
var firstPassword = '#' + attrs.pwCheck;
elem.add(firstPassword).on('keyup', function() {
scope.$apply(function() {
var v = elem.val()===$(firstPassword).val();
ctrl.$setValidity('pwmatch', v);
});
});
}
}
}]);
は、だから私の最初のフォームが正常に動作します。このディレクティブを持って一致した場合
<form name="passForm" id="passForm" ng-submit="savePassForm(passForm)" >
<input type="password" id="oldpassword" name="oldpassword" ng-model="oldpassword" >
<input type="password" id="pw1" name="pw1" ng-model="pw1" >
<input type="password" id="pw2" name="pw2" ng-model="pw2" pw-check="pw1" >
</form>
<div class="msg-block" ng-show="passForm.$error">
<span class="msg-error loginError" ng-show="passForm.pw2.$error.pwmatch">
Passwords don't match.
</span>
</div>
を確認するには別の形。
私の2番目のフォームでは、パスワードのために、私はフィールドにパスワードを取得してサーバーに送信できません。私は
var passData = {
"oldpassword" : $scope.oldpassword,
"newpassword" : $scope.pw2
}
$scope.changepassword = function(form){
if(form.$valid) {
var promisePass = passwordFactory.changePass(passData);
promisePass.success(function (data, status) {
//handle
を行い、私は私のコンソールをチェックすると、データがない、passData
は空です。
私はここで何が欠けていますか?同じコントローラー内に2つのフォームがあることは事実ですか?指示は物事を混乱させるか?
これを解決してください。
ありがとうございました