首页 新闻 会员 周边

如何实现angularjs表单验证状态重置?

0
悬赏园豆:100 [已解决问题] 解决于 2016-03-23 09:25

在一个页面想要复用表单弹出窗,第一次是正常的,第二次打开弹窗还没输入数据却带上了验证状态,怎么去掉这个验证状态

i_mint的主页 i_mint | 菜鸟二级 | 园豆:284
提问于:2016-03-22 13:26
< >
分享
最佳答案
0

表单弹出窗你应该后面加入

var $form = $('form html');

$('body').append($form);

$form.show();

类似这样

收获园豆:60
Rich.T | 老鸟四级 |园豆:3440 | 2016-03-22 13:31

angularjs 中可以这样吗?我的表单中包含动态的内容,我现在是在初次打开弹窗的时候,复制一份$scope的form初始值,剔除方法和$$的属性,以及$error属性,然后每次打开弹窗用这个复制的值给form属性挨个赋值

i_mint | 园豆:284 (菜鸟二级) | 2016-03-23 09:24

完全可以结合jq来一起写呀

Rich.T | 园豆:3440 (老鸟四级) | 2016-03-23 10:14

@Rich.T: 是的这种最简单,而且不会有其他莫名其妙的问题

i_mint | 园豆:284 (菜鸟二级) | 2016-03-24 09:30
其他回答(3)
0

在form中放一个隐藏的reset按钮,二次打开时reset一次。

收获园豆:40
幻天芒 | 园豆:37175 (高人七级) | 2016-03-23 08:38

这样应该不行,验证状态还存在

支持(0) 反对(0) i_mint | 园豆:284 (菜鸟二级) | 2016-03-23 09:25

@i_mint: 使用一个全新的$scope,一切妥妥。ui-bootstrap的dialog就是这个思路。

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2016-03-23 13:35

@幻天芒: 抱歉最近才用angularjs,不知道如何获取一个全新的$scope

支持(0) 反对(0) i_mint | 园豆:284 (菜鸟二级) | 2016-03-24 09:32

@i_mint: 可以看下ui-bootstrap的dialog的实现。另外就是重新加载dom元素。

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2016-03-24 09:56
0

l楼主的问题解决了吗,我现在也遇到这样的问题,也是才学angular一个多月。如果解决了,求指教

learninging | 园豆:202 (菜鸟二级) | 2016-10-29 15:13
0

用  表单名.setPristine() 方法就行

xuj06 | 园豆:202 (菜鸟二级) | 2017-11-01 15:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册