如何使用 ng-click 提交 angular js 表单
How to submit angular js form using 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);
};
我在我的控制台中得到了 undefined 这里是 plunker :
https://plnkr.co/edit/62g4YhkowQtwkyBOPKi5?p=preview
只需将 ng-click="update(user)" 更改为 ng-submit="update(user)" 并具有相同的定义
您只需要添加一行,我认为在您的控制器中使用它就可以了,无需再做任何更改:
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 = {};它将起作用
我认为您忘记了 AngularJS 的引导。使用以下代码段将其包含在您的项目中:
var app = angular.module('app', []);
app.controller('test', function($scope) {
// your code goes here
});
观看样本 demo 同样。
这样试,这是一个示例
<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);
}
}]);
我正在尝试使用 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);
};
我在我的控制台中得到了 undefined 这里是 plunker : https://plnkr.co/edit/62g4YhkowQtwkyBOPKi5?p=preview
只需将 ng-click="update(user)" 更改为 ng-submit="update(user)" 并具有相同的定义
您只需要添加一行,我认为在您的控制器中使用它就可以了,无需再做任何更改:
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 = {};它将起作用
我认为您忘记了 AngularJS 的引导。使用以下代码段将其包含在您的项目中:
var app = angular.module('app', []);
app.controller('test', function($scope) {
// your code goes here
});
观看样本 demo 同样。
这样试,这是一个示例
<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);
}
}]);