I am using angular.js for small app. in signup page after user user fill the data and click on submit
button one method is called from controller that make API call and then redirect user on next page. this is working fine in Chrome, Firefox and Microsoft Edge but it's not working in Internet Explorer.
Here is my signup.html
<form name="userRegForm"
ng-submit="userRegForm.$valid && registerUser()">
<md-input-container class="md-block">
<label>Full name</label>
<input required
ng-model="user.fullName"
name="fullName"
id="fullName"
autocomplete="off"
ng-pattern="/^[a-zA-Z ]*$/">
<div ng-messages="userRegForm.fullName.$error">
<div ng-message="required">Full name is required.</div>
<div ng-message="pattern">Please enter valid name</div>
</div>
</md-input-container>
<md-input-container class="md-block">
<label>Email</label>
<input required name="emailId" ng-model="user.emailId" type="email" autocomplete="off">
<div ng-messages="userRegForm.emailId.$error">
<div ng-message="required">Email is required.</div>
<div ng-message="email">Please enter valid Email.</div>
</div>
</md-input-container>
<md-input-container class="md-block">
<label>Password</label>
<input required name="password" ng-model="user.password" type="password" autocomplete="off">
<div ng-messages="userRegForm.password.$error">
<div ng-message="required">Password is required.</div>
</div>
</md-input-container>
<section id="non-padding" style="overflow: hidden">
<div class='layout layout--middle'>
<div class="layout__item xs-mb1 sm-text-right xs-text-right col-xs-4 sm-5of12 xs-6of12 sm-push7of12 sm-mb0 padding-right-0">
<input placeholder="REGISTER" type="submit" class="button button button--primary"
value="SIGN UP">
</div>
</div>
</section>
</form>
Here is my controller
$scope.registerUser = function () {
apiUrl = "http://example.com/save_data";
var userData = {
role: 'CANDIDATE',
fullName: $scope.user.fullName,
emailId: $scope.user.emailId.toLowerCase(),
password: $scope.user.password
};
webService.sendPostRequest(apiUrl, userData,
function (response) {
data = JSON.parse(response.data);
if (data.RESPONSE_CODE == 'SUCCESS') {
$state.go('restricted.candidate.editProfile', {pageId: ''}, {location: 'replace'});
} else if (data.RESPONSE_CODE == 'WARNING') {
alertService.setNotification('Email already exists.', 'warning');
alertService.showNotification();
} else {
alertService.setNotification('Something going wrong, Please try again.', 'failure');
alertService.showNotification();
}
},
function (err) {
alertService.setNotification('Something went wrong, Please try again.', 'failure');
alertService.showNotification();
}
);
};
This code is working fine in all other browser but not only in Internet explorer (i have v11, Windows 10).
i have google a lot on this issue but some answer are saying that replaceng-click="function_name()"
to direct ng-click="$state.go()"
but this won't work in my case.
Thanks