【问题标题】:Node.js generated text boxes are filled simultaneouslyNode.js 生成的文本框同时填充
【发布时间】:2016-11-22 08:53:47
【问题描述】:

我正在使用 Node.js 和 Angular 中的 ng-repeat 从数据库构建动态生成的表单。所有文本框都复制在任何一个文本框中输入的文本。所以,如果我在一个文本框中输入“xyz”,它们都会有“xyz”。但是,如果我提交结果,它只会更新那个表单引用。

这是 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>

这是它所指的JS:

    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);
  });

显然,我需要禁用它。我尝试在表单中添加 name= 或 ID={{ todo.country_code }} 以使其唯一,但这不起作用。为什么所有人都表现得像同一个文本框?我是 Node.js 的新手,对我的 HTML 非常生疏,但我找不到任何关于这种现象的参考。也许没有人犯这个错误太基本了? %)

【问题讨论】:

  • 所有文本框的 ng-model 都是相同的 - 尝试将其更改为“todo.text”
  • 太棒了!成功了!

标签: javascript html angularjs node.js textbox


【解决方案1】:

Andy F 解决了这个问题。只需将 ng-model="formdata.txt" 替换为 ng-model="todo.txt"。现在,没有一个文本框复制在任何其他文本框中输入的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-21
    • 2017-04-27
    • 2016-02-20
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多