2

ngForm入力要素をディレクティブにラップする角度のある方法はありますか? (ngFormを使用する必要があります。これはasp.netフォームです)

angular.module('app',[])
.controller('formCtrl', function($scope){

  $scope.formFields;
  $scope.model={
  
    "text": 'simple text',
    "number": 1,
    "textarea": 'lsadij isdajo\n dasjojoisajijsdaojsdaio jioasdj'
    
  };
  
  $scope.getNgFormInputs = function(e){
  
      $scope.formInfo = $scope.myFrm
      $scope.formFields = angular.noop //??? is it possible to get wrapped inputs?
  
  }


})
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js"></script>

<div ng-app="app">
  <div ng-controller="formCtrl">
    
    <div ng-bind="model.text"></div>
    <div ng-bind="model.number"></div>
    <pre ng-bind="model.textarea"></pre>
    
    <ng-form name='myFrm'>
      
      <input type="text" ng-model="model.text"><br>
      
      <input type="text" ng-model="model.number"><br>
      
      <textarea ng-model="model.textarea"></textarea><br>
      
      <button ng-click="getNgFormInputs($event)" role="submit">Save</button>
      
      </ng-form>


  {{formInfo}}<hr>
  {{formFields}}
  </div>
</div>

Tks

4

2 に答える 2

0

Syed のおかげで、参照によって問題が解決されました。

回答で自分のコメントを読むことをお勧めします。

angular.module('app',[])
.controller('formCtrl', function($scope){

  $scope.formFields;
  $scope.model={
  
    "text": 'simple text',
    "number": 1,
    "textarea": 'lsadij isdajo\n dasjojoisa \n jijsdaojsdaio jioasdj'
    
  };
  
  $scope.formFieldsAndValues = {}
  
  $scope.getNgFormInputs = function(e){
  
      
      $scope.formFields = keys = Object.keys($scope.myFrm).filter(x =>  (!/^\$/.test(x)) )
      keys.forEach(x=> $scope.formFieldsAndValues[x] = $scope.myFrm[x].$viewValue)
  
  }


})
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js"></script>

<div ng-app="app">
  <div ng-controller="formCtrl">
    
    <div ng-bind="model.text"></div>
    <div ng-bind="model.number"></div>
    <pre ng-bind="model.textarea"></pre>
    
    <ng-form name='myFrm'>
      
      <input type="text" ng-model="model.text" name="text"><br>
      
      <input type="text" ng-model="model.number" name="number"><br>
      
      <textarea type="text" ng-model="model.textarea" name="textarea"></textarea><br>
      
      <button ng-click="getNgFormInputs($event)" role="submit">Save</button>
      
      </ng-form>
<hr>
form fields:
  {{formFields}}
    <hr>
field,value pairs:
  {{formFieldsAndValues}}
  </div>
</div>

于 2016-04-28T23:23:32.797 に答える
0

はい、私があなたを正しく理解していれば、それはあります。参考のために、これを参照して ください https://scotch.io/tutorials/building-dynamic-angular-forms-with-ngrepeat-and-ngform

より具体的に: 簡単に: https://scotch.io/tutorials/building-dynamic-angular-forms-with-ngrepeat-and-ngform#validation-using-ngform

于 2016-04-28T22:48:22.823 に答える