2016-08-24 37 views
0

這裏是我的控制器文件

'use strict'; 

cms.controller('homeController', function($scope, $http, $window) { 



    $scope.registerClinic = function() { 
     var dataParam={ 
       "primaryEmailId": $scope.data1.emai 
       } 
     console.log(angular.toJson(dataParam));  
    $http({ 
    url: "/cms/sign-up", 
    method: "POST", 
    headers :{'Content-Type': 'application/json','Accept': 'application/json' }, 
    data: dataParam 
    }) 

     .success(function(response) { 
    console.log(angular.toJson(response)); 


        }); 
    }; 






}); 

這裏是我的HTML文件 在我的HTML文件中,有NG-模型=「data1.emai」值時 我想通過在控制器的形式來分析它,它是不會發生

<body> 

<div class="modal-dialog" style="background: rgb(255, 255, 255);"> 
    <div class="modal-body login metrial"> 


     <div class="modal-body login metrial"> 



     <div class="col-sm-6"> 
     <h4 class="modal-title">Sign up</h4> 

      <form id="loginform2" ng-submit="registerClinic()" name="loginform2" novalidate> 
         <div class="form-group"> 
          <input name="email" placeholder="Email ID" ng-class="{'invalid-field': loginform2.emai.$touched || loginform2.$submitted, 'valid-field': loginform2.emai.$valid}" 
           ng-model="data1.emai" ng-pattern="/^[a-zA-Z0-9]+[a-zA-Z0-9._][email protected][a-zA-Z0-9]+\.[a-zA-Z.]{2,}$/" type="text" required> 
           <span ng-show="loginform2.emai.$touched && loginform2.emai.$error.pattern" class="error-geni">Invalid email</span> 
      <!-- <label class="field-title">Email ID</label> --> 
         </div> 
        <div class="margin-bottom-20"> 
          <div style="width:20%" class="input-group-addon-signup"> 
           <input value="+91" disabled="" type="text"></div> 
          <div class="input-group-addon-signup"><input id="mobil" ng-class="{'invalid-field': loginform2.mobil.$touched || loginform2.$submitted, 'valid-field': loginform2.mobil.$valid}" onkeypress="return isNumber(event,'mobil');" placeholder="Mobile No" type="text" 
           ng-minlength="10" ng-maxlength="10" name="mobil" maxlength="10" ng-model="data1.mobil" ng-pattern="/^$|^[0-9X]{10}$/" required> 
           <span ng-show="loginform2.mobil.$touched && loginform2.mobil.$error.pattern" class="error-geni"> Invalid Mobile Number </span> </div> 
      <!-- <label class="field-title">Mobile No</label>--> 
        </div> 

      <div class="form-group"> 
      <input id="clinic" ng-model="data1.clinic" placeholder="Clinic Name" type="text"> 
      <!-- <label class="field-title">Clinic Name</label> --> 
      </div> 

     <select class="form-group" id="subscriptionplans" ng-model="data.Subscription" value="Subscription"> 
     <option id="optionspec">Trial Subscription</option> 
      <option value="0">Silver</option> 
      <option value="1">Gold</option> 
      <option value="1">Platinum</option> 
     </select> 

      <div class="form-group"> 
      <input name="signupPassword" id="signupPassword" placeholder="Password" ng-class="{'invalid-field': loginform2.signupPassword.$touched || loginform2.$submitted, 'valid-field': loginform2.signupPassword.$valid}" ng-model="data1.signupPassword" 
      ng-minlength="8" ng-maxlength="20" type="password" required> 
      <span ng-show="loginform2.signupPassword.$touched && loginform2.signupPassword.$error.minlength || loginform2.signupPassword.$touched && loginform2.signupPassword.$error.maxlength" class="error-geni">Password must be 8-20 characters long and must have at least one uppercase character & one number and can have special characters -_/#@</span> 
      </div> 


      <!--confirm Password--> 
      <div class="form-group"> 
      <input name="docPassword2" id="docPassword2" ng-class="{'invalid-field': loginform2.docPassword2.$touched || loginform2.$submitted, 'valid-field': loginform2.docPassword2.$valid}" placeholder="Confirm Password" 
      ng-model="data1.docPassword2" 
      class="gui-input" required ng-compare="loginform2.signupPassword" 
      ng-disabled="!loginform2.signupPassword.$valid" type="password"/> 

      <span ng-show="loginform2.docPassword2.$touched && loginform2.docPassword2.$error.compare1" class="error-geni">Password Mismatch </span> 
      </div> 


      <button type ="submit" class="btn pull-right" type="button">SIGN UP</button> 
</form> 

     </div> 
     </div> 
    </div> 



</body> 

編輯:我試圖通過data1.emai訪問它錯誤

angular.min.js:108 TypeError: Cannot read property 'emai' of undefined 
    at n.$scope.registerClinic (home-controller.js:37) 
    at fn (eval at compile (angular.min.js:212), <anonymous>:4:262) 
    at f (angular.min.js:252) 
    at n.$eval (angular.min.js:134) 
    at n.$apply (angular.min.js:135) 
    at HTMLFormElement.<anonymous> (angular.min.js:252) 
    at HTMLFormElement.c (angular.min.js:35)is saying 

我無法理解爲什麼我的價值不低於$範圍通過HTML將在控制器

編輯,當我從輸入

,它正在刪除所有值..但沒有找到確切的問題

+0

你有data1.emai在NG-模型屬性 –

+0

還補充說,仍然無法訪問 – adasdasd

回答

2

您從範圍內訪問這樣的:

"primaryEmailId": $scope.emai 

而在模板綁定這樣的說法:

ng-model="data1.emai" 

你需要有數據1對象的適用範圍,使其保持一致,例如:

"primaryEmailId": $scope.data1.emai 
+0

而下面你第二個方法 這給出了一個錯誤 'angular.min.js:108類型錯誤:無法讀取屬性「鄂麥'在undefined at n。$ scope.registerClinic(home-controller.js:37) at fn(eval at compile(angular.min.js:212),:4:262) at f(angular.min .js:252) at n。$ eval(angular.min.js:134) at n。$ apply(angular.min.js:135) at HTMLFormElement。 (angular.min.js:252) at HTMLFormElement.c(angular.min.js:35)' – adasdasd

+0

嘗試在控制器中定義它,例如$ scope.data1 = {emai:「[email protected]」}; –

0

初始化控制器$scope.data1對象,

cms.controller('homeController', function($scope, $http, $window) { 
    $scope.data1 = {}; 
    ..... 
} 

希望這有助於。

+0

仍然沒有工作提供相同的錯誤 – adasdasd