I am submitting form using angular js. I want to reset form fields after submit.
DEMO_ANGULAR JS
$scope.addUser = function()
{
$scope.errors = [];
$scope.msgs = [];
$scope.errors.splice(0, $scope.errors.length); // remove all error messages
$scope.msgs.splice(0, $scope.msgs.length);
$http.post("../admin/users/add_user", {'fname': $scope.fname, 'lname': $scope.lname, 'uname': $scope.uname,'gender': $scope.gender,'email': $scope.email,'mobile': $scope.mobile,'pass': $scope.pass}
).success(function(data, status, headers, config) {
if (data.msg != '')
{
$scope.msgs.push(data.msg);
$scope.get_users();
$scope.form_add.$setPristine();
$scope.currentRecord={};
}
else
{
$scope.errors.push(data.error);
}
}).error(function(data, status) { // called asynchronously if an error occurs
// or server returns response with an error status.
$scope.errors.push(status);
});
}
And This is my view (HTML) form for add user:
<form name="form_add" method="post">
<ul>
<li style="color:red" ng-repeat="error in errors"> {{ error}} </li>
</ul>
<ul>
<li style="color:green" ng-repeat="msg in msgs"> {{ msg}} </li>
</ul>
<table class="table" cellspacing=10 cellpadding=10>
<tr>
<td>First Name: <input required type="text" ng-pattern="/[a-zA-Z]$/" ng-model="fname" name="fname" id="fname" value=""/><br/>
<span style="color:red" ng-show="form_add.fname.$dirty && form_add.fname.$invalid">
<span ng-show="form_add.fname.$error.required">First Name is required.</span>
<span ng-show="form_add.fname.$error.pattern">Invalid</span>
</span>
</td>
<td>Last Name: <input required type="text" ng-pattern="/[a-zA-Z]$/" ng-model="lname" name="lname" id="lname" value=""/><br/>
<span style="color:red" ng-show="form_add.lname.$dirty && form_add.lname.$invalid">
<span ng-show="form_add.lname.$error.required">Last Name is required.</span>
<span ng-show="form_add.lname.$error.pattern">Invalid</span>
</span>
</td>
<td>User Name: <input required type="text" ng-pattern="/^[a-zA-Z0-9]{6,15}$/" ng-model="uname" name="uname" id="uname" value=""/><br/>
<span style="color:red" ng-show="form_add.uname.$dirty && form_add.uname.$invalid">
<span ng-show="form_add.uname.$error.required">User Name is required.</span>
<span ng-show="form_add.uname.$error.pattern">Invalid: Minimum 6 characters and maximum 15 characters</span>
</span>
</td>
<td width="20%">Gender :<br/> <input type="radio" ng-model="gender" name="gender" id="r1" value="m" checked />Male
<input type="radio" ng-model="gender" name="gender" id="r2" value="f"/>Female</td>
</tr>
<tr>
<td>Email ID: <input type="text" required ng-pattern="/^[a-z]+[a-z0-9._]+@[a-z]+\.[a-z.]{2,5}$/" ng-model="email" name="email" id="email" value=""/><br/>
<span style="color:red" ng-show="form_add.email.$dirty && form_add.email.$invalid">
<span ng-show="form_add.email.$error.required">Email is required.</span>
<span ng-show="form_add.email.$error.pattern">Invalid email address.</span>
</span>
</td>
<td>Mobile : <input type="text" required ng-model="mobile" ng-pattern="/^[1-9]{1}[0-9]{9}$/" name="mobile" id="mobile" value=""/><br/>
<span style="color:red" ng-show="form_add.mobile.$dirty && form_add.mobile.$invalid">
<span ng-show="form_add.mobile.$error.required">Mobile is required.</span>
<span ng-show="form_add.mobile.$error.pattern">10 digits required</span>
</span>
</td>
<td>Password : <input required type="password" ng-model="pass" name="pass" id="pass" value=""/>
<span style="color:red" ng-show="form_add.mobile.$dirty && form_add.mobile.$invalid">
<span ng-show="form_add.mobile.$error.required">Mobile is required.</span>
<span ng-show="form_add.mobile.$error.pattern">10 digits required</span>
</span>
</td>
<td><button type="button" class="btn btn-primary" ng-click='addUser();' ng-disabled="form_add.$invalid">Save</button></td>
</tr>
</table>
<br/>
</form>
How to reset form after submit, any changes in above code? And my issue is not solved yet!
Its Solved in this way: I have used this code to RESET: