2016-07-26 78 views
0

這是我的signup.html文件,我只想將密碼和用戶名從此表單傳遞給我的控制器,但我無法通過此方式訪問表單元素!角度表單提交問題

<ion-view view-title="Sign Up"> 
     <ion-content ng-controller="signup"> 
      <div class="figure_img"> 
       <img src="img/logo_image.png"> 
      </div> 
      <form name="myForm"> 
       <div class="list"> 
        <label class="item item-input"> 
         <input type="text" placeholder="Email ID" id="email" name="email" ng-model="formData.email" 
           required> 
         <span ng-show="myForm.email.$error.required && myForm.email.$dirty">required</span> 
         <span ng-show="!myForm.email.$error.required && myForm.email.$error.email && myForm.email.$dirty">invalid email</span> 
        </label> 
        <label class="item item-input"> 
         <input type="password" placeholder="Password" id="password" name="password" 
           ng-model="formData.password" required> 
         <span ng-show="myForm.password.$error.required && myForm.password.$dirty">required</span> 
        </label> 


        <label class="item item-input"> 
         <input type="password" placeholder="Confirm Password" id="password_c" name="password_c" ng-model="formData.password_c" valid-password-c required> 
         <span ng-show="myForm.password_c.$error.required && myForm.password_c.$dirty">Please confirm your password.</span> 
         <span ng-show="!myForm.password_c.$error.required && myForm.password_c.$error.noMatch && myForm.password.$dirty">Passwords do not match.</span> 

         </label> 

        <div class="contain-body"> 
         <button class="button button-block button-positive" ng-click="signup(myForm)">SignUp</button> 
        </div> 
       </div> 
      </form> 
     </ion-content> 
    </ion-view> 

這是我註冊

app.controller("signup", function ($scope,$http,$ionicPopup,URL,$ionicLoading,$timeout,$state) { 
    $scope.data = { 
     email :'', 
     password :'' 
    }; 

    $scope.signup = function (data) { 
     console.log(data); 
     $http.post(URL.url + '/registration',data) 
      .success(function() { 
       $ionicLoading.show({template:'<ion-spinner class="spinner-energized"></ion-spinner>Complete your Registration through Email'}); 
       $timeout(function() { 
        $ionicLoading.hide(); 
        $ionicHistory.clearCache().then(function() { 
         $state.go('EmailLogin') ; 
        }); 
       },5000); 

      }).error(function (response) { 
      $ionicPopup.alert({ 
       title: 'Sign-Up failed!', 
       template:response.errors.email 
      }); 
     }); 

    } 
}); 

我怎麼可能只需要用戶名和密碼在我的控制器控制器.. ,使其變得容易立即登記!

+1

嘿嘗試像這樣的點擊事件通過「formData」:

回答

1

您確實將表單控制器傳遞給您的註冊方法。這不是你想要的。

你已經取得了您的emailpassword字段值通過在你看來formData.emailformData.password,這樣你就可以通過包括FORMDATA作爲意見提出調整調用signup

但你申報$scope.data是你的控制器,你可能想重用這些,而不是FORMDATA在ng-model指令的觀點,因爲目前這個data對象似乎並沒有被使用。

0

使用您收到的數據在函數中創建一個對象。只需做點var reqData = { email: data.email, password: data.password };然後做$http.post(URL.url + '/registration',reqData)

希望它有幫助。