如何使用ng-click提交角度js表单

时间:2016-06-10 06:29:36

标签: angularjs json angularjs-ng-click

我正在尝试使用json文件创建一个。所以我有一个json文件,我使用angular js将其调用到我的html中,当我点击使用ng-click的保存按钮时,我遇到了问题,这里我试图使用像这样的用户数组:

       <div ng-repeat="x in myWelcome.definition.attributes">
        <div ng-repeat= "y in x.children ">
          <div ng-if ="y.rm_type_name == 'DV_TEXT'">
             <input type="{{ y.node_id }}" name="{{ y.node_id }}" ng-model="user[y.node_id]">
          </div>
          <div ng-if ="y.rm_type_name == 'DV_CODED_TEXT'">
             <input type="{{ y.node_id }}" name="{{ y.node_id }}" ng-model="user[y.node_id]">
          </div>

        </div>
        <h1>You entered: {{user}}</h1>

      </div>
      <input type="submit" ng-click="update(user)" value="Save" />

我的控制器看起来像这样:

     $scope.update = function(user) {
       console.log(user);
     };

我在我的控制台中获取未定义的是plunker: https://plnkr.co/edit/62g4YhkowQtwkyBOPKi5?p=preview

4 个答案:

答案 0 :(得分:2)

你只需要添加一行,我认为这样可以在你的控制器中使用它而不再有更改:

 var app = angular.module('myApp', []);
    app.controller('myCtrl', function($scope, $http) {
      $scope.master = {};
      $scope.user = {};
      $scope.update = function(user) {
        $scope.master = angular.copy(user);
        $scope.user = {};
        console.log(user);
      };
      $http.get("data.json")
      .then(function(response) {
          $scope.myWelcome = response.data;
      });
    });

您只需在控制器中添加此内容$ scope.user = {};它会起作用

答案 1 :(得分:1)

尝试这样,它是一个样本

<form class="form-horizontal" role="form" ng-app="myApp" ng-controller="MyCtrl">

<input class="form-control" id="tittle" placeholder="tittle" ng-model="formInfo.tittle">

<input class="form-control" id="name" placeholder="Name" ng-model="formInfo.Name">

 <button type="submit" ng-click="saveData()" class="btn btn-success">save</button>

 </form>

var app=angular.module('myApp', []);
  app.controller('MyCtrl', ['$scope', function($scope) {
    $scope.formInfo = {};
    $scope.saveData = function() {
    console.log($scope.formInfo);
    }
  }]);

答案 2 :(得分:0)

只需将ng-click =“update(user)”更改为ng-submit =“update(user)”并使用相同的定义

答案 3 :(得分:0)

我认为你忘记了AngularJS的引导。使用下面的代码段将其包含在您的项目中:

var app = angular.module('app', []);

app.controller('test', function($scope) {
  // your code goes here
});

观看示例demo