I am using materialize modal which has 3 input fields. I have kept modal dismissible true so that modal can be closed by clicking outside. When modal is closed by clicking on the close button then I am calling a function to clear the input fields however I am unable to do so when modal is closed by clicking outside.
I have already tried using modal close callback option.
<div id="resetpassword" class="modal modal-fixed-footer modal-index" ng-controller="ChangePassword">
<form>
<div class="modal-header">
<span>Change Password</span>
<a class="btn-flat modal-action modal-close">
<i class="material-icons" ng-click="reset()">clear</i></a>
</div>
<div class="modal-content">
<div class="row">
<div class="col s8 offset-s2">
<div class="col s12">
<div class="input-field col s12 clear">
<input name="old_password" ng-model="passForm.current_password" id="old_password" type="password">
<label class="left-align" for="old_password">Current Password</label>
</div>
<div class="input-field col s12 clear">
<input name="new_password1" ng-model="passForm.password1" id="new_password" type="password">
<label class="left-align" for="new_password">New Password</label>
</div>
<div class="input-field col s12 clear">
<input name="new_password2" ng-model="passForm.password2" id="cnf_new_password" type="password">
<label class="left-align" for="cnf_new_password">Confirm New Password</label>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn" type="submit" ng-click="requestChangePassword()">Change Password</button>
</div>
</form>
</div>
<script type="text/javascript">
$(document).ready(function() {
$('.modal').modal({complete: function(modal, trigger) {
reset();
}});
});
</script>
Controller
$scope.reset = function() {
$scope.passForm.current_password = null;
$scope.passForm.password1 = null;
$scope.passForm.password2 = null;
}
The above code gives error as reset() is not defined.