当我成功验证后提交登录表单并重定向到另一个页面时,弹出窗口提示我有未保存的更改。我相信这个弹出窗口应该只显示你是否重定向到另一个页面而不保存你的更改到表单。避免表单提交后弹出未保存的更改 - AngularJS
我曾尝试调用表格的$setPrestine()
和$setUntouched()
函数,并将模型设置为null,但弹出窗口仍然显示。
我该如何妥善处理?由于
UPDATE
我发现,这个问题是由在我工作的项目中使用的角度模块(角敏捷)引起的。我在做了很多跟踪之后找到了解决方案。
当我成功验证后提交登录表单并重定向到另一个页面时,弹出窗口提示我有未保存的更改。我相信这个弹出窗口应该只显示你是否重定向到另一个页面而不保存你的更改到表单。避免表单提交后弹出未保存的更改 - AngularJS
我曾尝试调用表格的$setPrestine()
和$setUntouched()
函数,并将模型设置为null,但弹出窗口仍然显示。
我该如何妥善处理?由于
UPDATE
我发现,这个问题是由在我工作的项目中使用的角度模块(角敏捷)引起的。我在做了很多跟踪之后找到了解决方案。
你有各类
NG-质朴,NG-脏 如果你对他们的行动,它获取的输入端施加
可以得知并相应地使用。现在 read this
<script>
angular.module('formExample', [])
.controller('FormController', ['$scope', function($scope) {
$scope.userType = 'guest';
}]);
</script>
<style>
.my-form {
transition:all linear 0.5s;
background: transparent;
}
.my-form.ng-invalid {
background: red;
}
</style>
<form name="myForm" ng-controller="FormController" class="my-form">
userType: <input name="input" ng-model="userType" required>
<span class="error" ng-show="myForm.input.$error.required">Required!</span><br>
<code>userType = {{userType}}</code><br>
<code>myForm.input.$valid = {{myForm.input.$valid}}</code><br>
<code>myForm.input.$error = {{myForm.input.$error}}</code><br>
<code>myForm.$valid = {{myForm.$valid}}</code><br>
<code>myForm.$error.required = {{!!myForm.$error.required}}</code><br>
</form>
你可以看到有各种各样的方法来做到这一点。
请好好看看并申请。快乐编码!
或者你可以参考这个answer
你的意思是保存更改到窗体。你的意思是更新数据库,即后端!对?? –
我实际上并没有在这里保存任何东西,因为我只是进行身份验证,然后重定向到我的主页,如果身份验证成功。但是,当我尝试重定向到我的主页时,弹出一个问题,询问我是否真的想导航一个因为我有未保存的更改弹出。 – Rian
@manishkumar我的意思是保存您在表单中所做的更改。 – Rian