2013-04-20 18 views
6

में जमा करने के बाद फॉर्म रीसेट करें मुझे AngularJS (v1.1.3) में सबमिट करने के बाद फॉर्म फ़ील्ड को रीसेट करने में समस्या हो रही है। यहाँ मैं क्या कर रहा हूँ का एक टुकड़ा है:AngularJS

एचटीएमएल

<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> 

जे एस

$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' 
    }); 
}; 

वहाँ एक और तरीका प्रपत्र तत्वों पुनर्स्थापित करने के लिए है?

+1

गुंजाइश वर शून्य पर या member.name रिक्त स्ट्रिंग (member.name = "") – tschiela

+0

हम्म सेट अंदर रीसेट कोड यह काम नहीं करता है। मैं फॉर्म में सभी इनपुट तत्वों को रीसेट करने की कोशिश नहीं कर रहा हूं। – jesal

+0

लेकिन दायरे को रीसेट करने के लिए इसका सामान्य तरीका है। या दृश्य मॉडल के लिए सिंक में नहीं है। – tschiela

उत्तर

5

@ tschiela की टिप्पणी के लिए धन्यवाद। मुझे यह करना था:

$scope.createMember = function(member) { 
    var membersService = new Members(member); 
    membersService.$create(function(member) { 
     $scope.members.push(member); 
     $scope.member = ''; 
    }); 
}; 
+0

वही मेरे लिए काम किया। मैंने बस $ scope सेट किया है। मेरे फॉर्म में शून्य करने के लिए MyObject विधि सबमिट करें। –

2

बस फॉर्म का डिफ़ॉल्ट मान लें।

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 deafualtForm = { 
name : '', 
department : '' 
} 

$scope.reset= function(paper) { 
$scope.paper = angular.copy(deafualtForm); 
}