2017-04-15 11 views
0

ユーザが "ng-click"を入力したときにスコープ機能 "login()"が機能しない、なぜ機能しないのですか?助けてください!フォームであるコントローラにAngularJS - ng-clickで機能しない

HTML

<a id="login-button1" class="button button-assertive button-block icon-right ion-log-in" ng-click="login()" >Entrar</a> 

Funcion

.controller('loginCtrl', ['$scope', "Auth", '$state', 
function ($scope, Auth, $stateParams) { 

$scope.login = function() { 

    $signin_email = $scope.userloginForm.email.$modelValue; 
    $signin_password = $scope.userloginForm.password.$modelValue; 

    // sign in 
     Auth.$signInWithEmailAndPassword($signin_email, $signin_password) 
     .then(function(firebaseUser) { 
      //$scope.message = "User created with uid: " + firebaseUser.uid; 
      alert(firebaseUser.email + " logged in successfully!"); 
     }).catch(function(error) { 

      alert(error.message); 
      //$scope.error = error; 
     }); 


    }; 



    }]) 

<form id="login-form1" name="$parent.userloginForm" class="list" > 
     <div class="spacer" style="height: 40px;"></div> 
     <ion-list id="login-list1"> 
     <label class="item item-input" id="login-input1"> 
      <span class="input-label">Email :</span> 
      <input type="text" name="email" ng-model="member.email" placeholder=""> 
     </label> 
     <label class="item item-input" id="login-input2"> 
      <span class="input-label">Senha :</span> 
      <input type="password" ng-model="member.password" placeholder=""> 
     </label> 
     </ion-list> 
     <div class="spacer" style="height: 40px;"></div> 
     <a id="login-button1" class="button button-assertive button-block icon-right ion-log-in" ng-click="login()" >Entrar</a> 
     <a href-inappbrowser="/signup" id="login-button2" class="button button-positive button-block button-clear">Esqueceu sua senha?</a> 
    </form> 
+1

より具体的な詳細を指定してください...「機能していない」とは、価値のない次のものを示します。数分で[ask]を読んでください – charlietfl

+0

コントローラコードで以下を更新してみてください。 $ signin_email = $ scope.member.email; $ signin_password = $ scope.member.password; –

+0

は@ BanshiL.Dangiでも働いていません –

答えて

0

login functi内部$scope.member.email代わりに$scope.userloginForm.email.$modelValue$scope.member.password代わりに$scope.userloginForm.password.$modelValueを使用してみてくださいon、このプロパティには、フォームの入力からの角​​度付き書き込みが発生します。もちろん、コントローラの上部には$scope.member = {}が必要です。また、あなたのフォームのnameuserloginFormでなく、$parent.userloginFormである必要があります。そしてもう一つは、 - あなたは、あなたがフォームを送信するためにng-click()を使用しないでくださいする必要がない場合は、フォーム上ng-submit="login"

+0

私はscope.memberを置く必要があります= {}? –

+0

@ Mr.Malakaは '$ scope.login ... 'の直前の1行です。 –

+0

のように:$ scope.member { $ scope.login = function(){ ??? –

0

代わり$scope.userloginForm.email.$modelValueを使用しての<button id="login-button1" class="button button-assertive button-block icon-right ion-log-in type="submit">Entrar</button>あなたは直接loginのパラメータとしてng-modelオブジェクトを渡すことができなければなりません関数。 HTMLで

:コントローラで

<a id="login-button1" class="button button-assertive button-block icon-right ion-log-in" ng-click="login(member)" >Entrar</a> 

$scope.login = function(member) { 
    var signin_email = member.email; 
    var signin_password = member.password; 
    console.log(signin_email); 
    console.log(signin_password); 
} 

DEMO

var myApp = angular.module('myApp',[]); 
 

 
myApp.controller('MyCtrl', function($scope) { 
 
    $scope.login = function(member) { 
 
     var signin_email = member.email; 
 
     var signin_password = member.password; 
 
     console.log(signin_email); 
 
     console.log(signin_password); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="MyCtrl"> 
 
    <form id="login-form1" name="userloginForm" class="list" > 
 
     <div class="spacer" style="height: 40px;"></div> 
 
     <ion-list id="login-list1"> 
 
     <label class="item item-input" id="login-input1"> 
 
      <span class="input-label">Email :</span> 
 
      <input type="text" name="email" ng-model="member.email" placeholder=""> 
 
     </label> 
 
     <label class="item item-input" id="login-input2"> 
 
      <span class="input-label">Senha :</span> 
 
      <input type="password" ng-model="member.password" placeholder=""> 
 
     </label> 
 
     </ion-list> 
 
     <div class="spacer" style="height: 40px;"></div> 
 
     <a id="login-button1" class="button button-assertive button-block icon-right ion-log-in" ng-click="login(member)" >Entrar</a> 
 
     <a href-inappbrowser="/signup" id="login-button2" class="button button-positive button-block button-clear">Esqueceu sua senha?</a> 
 
    </form> 
 
</div>

関連する問題