Javascript 在AngularJS中提交后重置表单
在AngularJS(v1.1.3)中提交后,我在重置表单字段时遇到问题。下面是我尝试做的一个片段: HTMLJavascript 在AngularJS中提交后重置表单,javascript,angularjs,Javascript,Angularjs,在AngularJS(v1.1.3)中提交后,我在重置表单字段时遇到问题。下面是我尝试做的一个片段: HTML <form name="addMemberForm"> <input name="name" type="text" placeholder="Jon Doe" ng-model="member.name" required/></td> <a class="btn btn-primary" ng-click="createMe
<form name="addMemberForm">
<input name="name" type="text" placeholder="Jon Doe" ng-model="member.name" required/></td>
<a class="btn btn-primary" ng-click="createMember(member)" ng-disabled="addMemberForm.$invalid"><i class="icon-plus"></i></a>
</form>
JS
$scope.createMember = function(member) {
var membersService = new Members(member);
membersService.$create(function(member) {
$scope.members.push(member);
$scope.addMemberForm.reset(); //TypeError: Object #<FormController> has no method 'reset'
});
};
$scope.createMember=函数(成员){
var membersService=新成员(成员);
membersService.$create(函数(成员){
$scope.members.push(成员);
$scope.addMemberForm.reset();//类型错误:对象#没有方法“reset”
});
};
有没有其他方法可以重置表单元素?多亏了@tschiela的评论,才找到了重置表单元素的方法。我必须这样做:
$scope.createMember = function(member) {
var membersService = new Members(member);
membersService.$create(function(member) {
$scope.members.push(member);
$scope.member = '';
});
};
只取表单的默认值 HTML表单
<form novalidate id="paperForm" class="form-horizontal" name="formPaper">
<div class="form-group">
<label class="col-sm-3 control-label" for="name">
Name
</label>
<div class="col-sm-8">
<input type="text" id="name" placeholder="Please Enter Name" class="form-control" ng-model="paper.name" ng-name="name" required>
</div>
<label class="col-sm-3 control-label" for="name">
Department
</label>
<div class="col-sm-8">
<input type="text" id="department" placeholder="Please Enter Department" class="form-control" ng-model="paper.department" ng-name="department" required>
</div>
</div>
<button type="button" class="btn btn-default" ng-click="reset(paper)">Reset</button>
</form>
将作用域var member.name设置为null或空字符串(member.name=“”)Hm,该值无效。我试图重置表单中的所有输入元素,而不是范围中的数据。但是重置范围是实现这一点的常用方法。或者视图与模型不同步;我也是这样。我只是在表单提交方法中将$scope.MyObject设置为null。
var deafualtForm = {
name : '',
department : ''
}
$scope.reset= function(paper) {
$scope.paper = angular.copy(deafualtForm);
}