如何在表单中使用ng-value和ng-model输入文本

时间:2015-04-20 04:54:10

标签: javascript angularjs

我正在创建一个表单来编辑数据库中的信息,这个表单正在运行,他根据我选择的内容获取信息,但它没有显示在页面上的文本输入中。 / p>

我知道我获得的信息是正确的信息,因为我可以在控制台上看到,也可以在属性“'”中看到,但不会出现在页面上。

此页面有两个输入文字:

  <label for="meetingPoint">Name:</label>
  <input type="text" class="form-control" name="name" rows="5" ng-value="{{ data[0].name }}" ng-model="formData.name" />

  <label for="meetingPoint">Meeting Point:</label>
  <input type="text" class="form-control" name="meetingPoint" rows="5" ng-value="{{ data[0].meetingPoint }}" ng-model="formData.meetingPoint" />

我希望能够看到页面上的信息并仍然发送到我的formData范围,但我很遗失,这是我第一次使用Angular。

这是我的控制者:

var event = $routeParams.evento;
$scope.data;
$scope.submitForm;
$scope.formData = {};

$http.get('/api/data/event/edit/' + event)
  .success(function (data, status, headers, config) {
    $scope.data = data;
    console.log(data);
  })
  .error(function (data, status, headers, config) {
    $scope.data = data;
  });

$scope.processForm = function () {
  console.log($scope.formData._id);
  $http({
      method: 'PUT',
      url: '/api/data/event/edit' + $scope.formData._id,
      data: $scope.formData,
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
      }
    })
    .success(function (data) {
      console.log(data);

      if (!data.success) {
        $scope.errorName = data.errors.name;
      } else {
        $scope.message = data.message;
      }
    });
};

所以我得到了我想要的活动,他们试图用ng-value显示信息,但是没有工作,还编辑了我的formData对象。

有人可以帮我一把吗? :)

感谢!!!!

1 个答案:

答案 0 :(得分:1)

ng-value="{{ data[0].name }}"

Angular DOCS::ng-value不适合input text

  

将给定表达式绑定到或输入[radio]的值,   因此,当选择元素时,该元素的ngModel是   设置为绑定值。

您必须使用ng-model作为输入文本框。