Javascript 使用AngularJS动态显示表单数据
我想使用摘要部分中的标签和输入值动态显示人员和地址数据。当用户编辑表单字段时,带有label+值的列表项应显示在汇总表中。如果表单中的值已被删除,则相关标签和值应从摘要部分删除 我为每个输入元素添加了客户端验证。我试图解决这个问题,但不知道最好的方法是什么。任何帮助都将不胜感激 例如:Javascript 使用AngularJS动态显示表单数据,javascript,angularjs,angularjs-directive,angularjs-scope,Javascript,Angularjs,Angularjs Directive,Angularjs Scope,我想使用摘要部分中的标签和输入值动态显示人员和地址数据。当用户编辑表单字段时,带有label+值的列表项应显示在汇总表中。如果表单中的值已被删除,则相关标签和值应从摘要部分删除 我为每个输入元素添加了客户端验证。我试图解决这个问题,但不知道最好的方法是什么。任何帮助都将不胜感激 例如: //主(应用程序)模块 var myApp=angular.module(“myApp”,[]); //添加控制器 控制器(“myCtrl”,函数($scope){ $scope.vm={ 来电者:{ 人:{
//主(应用程序)模块
var myApp=angular.module(“myApp”,[]);
//添加控制器
控制器(“myCtrl”,函数($scope){
$scope.vm={
来电者:{
人:{
名字:'',
姓氏:“”,
电话号码:'',
电子邮件:“”
},
地址:{
第一行:'',
第二行:“”
}
}
};
$scope.save=函数(){
log($scope.vm);
}
});
//添加指令
myApp.directive('showErrors',函数($timeout,$compile){
返回{
限制:“A”,
要求:“^form”,
链接:函数(范围、el、属性、formCtrl){
//查找具有“name”属性的文本框元素
var inputEl=el[0]。查询选择器(“[name]”);
//将本机文本框元素转换为角度元素
var inputNgEl=角度元素(inputEl);
//在文本框中获取名称
var inputName=inputNgEl.attr('name');
//仅在用户离开文本框后应用has error类
var=false;
inputNgEl.bind('blur',function(){
模糊=真实;
el.toggleClass('has-error',formCtrl[inputName]。$invalid);
});
范围$watch(功能(范围){
返回formCtrl[inputName]。$无效;
},函数(无效,作用域){
//我们只想在模糊后切换has error类
//事件或控件是否变为有效
如果(!模糊&&无效){
返回
}
el.toggleClass('has-error',无效);
});
作用域:$on('show-errors-check-validity',函数(){
el.toggleClass('has-error',formCtrl[inputName]。$invalid);
});
作用域:$on('show-errors-reset',function(){
$timeout(函数(){
el.removeClass('has-error');
},0,假);
});
}
}
});代码>
。表单组。帮助块{
显示:无;
}
.form-group.has-error.help块{
显示:内联;
}
人
名[必选]
姓氏[必填]
地址
地址行1[必填]
地址行2[必填]
{{vm | json}
总结
人
地址
Fiddler URL:在此处的摘要部分检查firstname和lastname:我发现您甚至需要打印标签,我相信在这种情况下,您的标签和值都需要与字段绑定。Ref.@seUser我喜欢这个想法,但我仍然认为这可以做得更好。@seUser这是我用上面链接的你共享的东西想到的,但我仍然讨厌我必须把每个字段作为数据对象。Fiddler URL:在这里的摘要部分检查firstname和lastname:我发现你甚至需要打印标签,我相信在这种情况下,您的标签和值都需要与字段绑定。Ref.@seUser我喜欢这个想法,但我仍然认为这可以做得更好。@seUser这是我用上面链接的你共享的东西想到的,但我仍然讨厌我必须把每个字段作为数据对象。