2016-11-22 1 views
0

Ich erstelle ein dynamisch generiertes Formular aus einer Datenbank mit ng-repeat in Node.js und Angular. Alle Textfelder replizieren den Text, der in einem der Textfelder eingegeben wird. Also, wenn ich "xyz" in ein Textfeld eintippe, haben alle von ihnen "xyz". Aber wenn ich die Ergebnisse einsende, wird nur diese eine Formularreferenz aktualisiert.Node.js generierte Textfelder werden gleichzeitig gefüllt

Dies ist der HTML:

<div class="container"> 
<div class="todo-form"> 

<form class="form-inline" ng-repeat="todo in todoData"> 
      <li>    
      <h4>Country Code: {{ todo.country_code }} <input id="{{ todo.country_code }}" type="text" class="form-control input-sm" placeholder="{{ todo.country_name }}" ng-model="formData.text"> 
      <button type="submit" class="btn btn-default" ng-click="updateTodo(todo.country_code)">Update</button></h4><br> 
      </li> 
    </form> 
    </div> 

Dies ist die JS es bezieht:

angular.module('editTodo', []) 
.controller('editController', ($scope, $http) => { 
    $scope.formData = {}; 
    $scope.todoData = {}; 
    // Get Org Details 
    $http.get('ref_country_code_get') 
    .success((data) => { 
    $scope.todoData = data; 
    console.log(data); 
    }) 
    .error((error) => { 
    console.log('Error: ' + error); 
    }); 

ich diese deaktivieren müssen klar. Ich habe versucht, einen Namen = oder ID = {{todo.country_code}} in das Formular einzufügen, um es einzigartig zu machen, aber das funktioniert nicht. Warum verhalten sich alle so, als wären sie die gleiche Textbox? Ich bin neu in Node.js und sehr eingerostet mit meinem HTML, aber ich kann keinen Hinweis auf dieses Phänomen finden. Vielleicht ist es zu einfach, dass niemand diesen Fehler macht? %)

+0

Das ng-Modell ist das gleiche für alle Textfelder - versuchen Sie es zu "todo.text" zu ändern –

+0

Fantastisch! Das hat funktioniert! – jurban1997

Antwort

0

Andy F löste das Problem. Ersetzen Sie einfach ng-model = "formdata.txt" durch ng-model = "todo.txt". Jetzt repliziert keines der Textfelder, was in einem anderen Textfeld eingegeben wird.

Verwandte Themen