无法使用angularjs在控制器中获取表单数据?
我对angularjs是新手。因此,我正在尝试开发我的第一个angularjs应用程序。但我在视频的第25分钟被卡住了,导师基本上是想把无法使用angularjs在控制器中获取表单数据?,angularjs,twitter-bootstrap-3,Angularjs,Twitter Bootstrap 3,我对angularjs是新手。因此,我正在尝试开发我的第一个angularjs应用程序。但我在视频的第25分钟被卡住了,导师基本上是想把保存用户按钮和控制器绑定在一起,他能够做到。数据以数组的形式提交给控制器。但是当我尝试做完全相同的事情时,我得到了一个空数组。为什么? JS版本:-bootstrap-3.3.7withangularjs 1.6.4 index.html <!-- Modal --> <div id="myModal" class="modal fad
保存
用户按钮和控制器绑定在一起,他能够做到。数据以数组的形式提交给控制器。但是当我尝试做完全相同的事情时,我得到了一个空数组。为什么?
JS版本:-bootstrap-3.3.7
withangularjs 1.6.4
index.html
<!-- Modal -->
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">New Users Registration</h4>
</div>
<div class="modal-body">
<form class="form-horizontal">
<div class="form-group">
<label class="control-label col-sm-2">Username</label>
<div class="col-sm-10">
<input type="email" class="form-control" ng-model="newuser.username">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" ng-model="newuser.email">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2">Full Name</label>
<div class="col-sm-10">
<input type="email" class="form-control" ng-model="newuser.fullname">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default" ng-click="saveuser()" data-dismiss="modal">Save</button>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
您可以尝试将用户作为参数传递给函数:
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default" ng-click="saveuser(newuser)" data-dismiss="modal">Save</button>
</div>
var myApp = angular.module('myApp',[]);
myApp.controller('myController',function($scope){
$scope.newuser = {};
$scope.users = [
{username:"Satya",fullname:"Satya",email:"satya@gmail.com"}
];
$scope.saveuser = function(newuser){
$scope.users.push(newuser);
$scope.newuser = {};
};
});
拯救
var myApp=angular.module('myApp',[]);
myApp.controller('myController',函数($scope){
$scope.newuser={};
$scope.users=[
{用户名:“Satya”,全名:“Satya”,电子邮件:satya@gmail.com"}
];
$scope.saveuser=函数(newuser){
$scope.users.push(newuser);
$scope.newuser={};
};
});
好吧,这是我的错。显然,输入类型应该是text
type。在我的HTML文件中,我将其保存为email
type。改变这一点可以解决问题。我不确定,但这可能是在处理前验证表单数据的引导。是否有其他方法可以将表单数据发送到控制器??
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default" ng-click="saveuser(newuser)" data-dismiss="modal">Save</button>
</div>
var myApp = angular.module('myApp',[]);
myApp.controller('myController',function($scope){
$scope.newuser = {};
$scope.users = [
{username:"Satya",fullname:"Satya",email:"satya@gmail.com"}
];
$scope.saveuser = function(newuser){
$scope.users.push(newuser);
$scope.newuser = {};
};
});