2016-07-25 2 views
0

Я все еще новичок в угловом, я не знаю, как сделать форму, когда я хочу обновить пользователя, чтобы заполнить форму своими собственными данными. У меня есть контроллер, как это:угловые данные формы набора для всех полей

 // take data for organization from database    
     dataService.allOrganization().then(function (data) { 
      vm.allOrg = data; 
     }); 
     // take data for user from database 
     dataService.getOneUser(theId).then(function(data) { 
      vm.oneUserUpdate = data; 

     }); 

     $scope.user = {}; 
     $scope.submitForm = function(theId) { 
      $scope.user.idUser = theId; 
      dataService.updateUserPost($scope.user).then(function (data) { 
       vm.oneUserInfo = data;//response from http request 
      }) 
     } 

И в виду:

<form name="userForm" ng-submit="submitForm(userDataCtr.oneUserUpdate.identities[0].user_id)"> 
      <div class="form-group"> 
       <label>Encryption Key :</label> 
       <input type="text" class="form-control" name="encryption" ng-model="user.encryption" > 
      </div> 
      <div class="form-group"> 
       <label>Admin :</label> 
       <select class="form-control" name="admin" ng-model="user.admin"> 
        <option>Select...</option> 
        <option value="true">True</option> 
        <option value="false">False</option> 
       </select> 
      </div> 
      <div class="form-group"> 
       <label>Organization ID:</label> 
       <select class="form-control" name="organization" ng-model="user.organization"> 
        <option>Select...</option> 
        <option ng-repeat="org in userDataCtr.allOrg" value="{{org.id_org}}"> 
         {{org.name_org}} 
        </option> 
       </select> 
      </div> 
      <div class="form-group"> 
       <label></label> 
       <div class="checkbox"> 
        <label><input type="checkbox" value="1" name="role_cro" ng-model="user.role_cro">ROLE_CRO</label> 
       </div> 
       <div class="checkbox"> 
        <label><input type="checkbox" value="1" name="role_client" ng-model="user.role_client">ROLE_CLIENT</label> 
       </div> 
      </div> 
      <button type="submit" class="btn btn-primary">Submit</button> 
     </form> 

И как, если это возможно, чтобы заполнить все данные с данными пользователя, поле ввода, чтобы иметь значение, флажок, чтобы проверить, если им нужно, выберите вариант организации, который будет выбран, и т. д.

Спасибо.

+0

Вы хотите, чтобы пользователь заполнил все поля перед отправкой? вы хотите проверить правильность? –

+0

Нет, я хочу, чтобы поля автоматически заполнялись, когда вы хотите обновить пользователя, а затем, чтобы изменить данные, если захочу. – Sasa

ответ

0

Вы должны обновить модели. например

dataService.getOneUser(theId).then(function(data) { 
     vm.user={}; 
     vm.user.encryption = data.encryption; 
     vm.user.role_client = data.role; 
    }); 

На вид

<div ng-controller="Mycontroller as my"> 
<div class="form-group"> 
       <label>Encryption Key :</label> 
       <input type="text" class="form-control" name="encryption" ng-model="my.user.encryption" > 
</div> 
</div> 

И так далее ... Вы должны использовать в вашем экземпляре контроллера на ваш взгляд.

+0

Я изменил, но получил ошибку, что $ scope не определен. – Sasa

+0

Я думаю, что u не использует $ scope, u r, используя var vm = this?, Если это заменит $ scope из vm в моем коде, я тоже его редактирую. – urvashi

+0

Я использую оба, для всех данных, которые я использую vm, только для проверки формы. Я использую $ scope. – Sasa

0

Всякий раз, когда вы хотите использовать данные из контроллера (или директивы) внутри шаблона, он должен быть привязан к $ scope контроллера.

.controller('myFormController', function() { 

    dataService.allOrganization().then(function (data) { 
     // Populate our scope the required data 
     $scope.allOrg = data; 
    }); 
}); 

Теперь мы можем привязать эти переменные к полям формы, используя ng-model.
<input type="text" name="firstName" ng-model="allOrg.firstName">

Не все элементы формы ведут себя одинаково. Вы должны взглянуть на угловые документы для более подробных примеров привязки формы.
Angular form documentation

+0

, но если я изменю имя модели, как я получу все данные из формы, где отправить? Я ввел имя для ng-model user.etc и таким образом беру все данные. – Sasa

Смежные вопросы