我有两个字段的表单,直到那些字段填充了一些文本,我的提交按钮将被禁用但现在如果我动态添加第三个字段,则JS将不支持动态添加的第三个字段的验证。
链接https://jsfiddle.net/vikrantkki/zzhgaguz/57/
<button ng-click="adddynamicfield()">add dynamic field<button>
<form name="dynamicform" novalidate="true">
<input type ="text" dynamic-name name="name" ng-model="dynamicform1.name" required>
<input type ="text" dynamic-name name="age" class="age" ng-model="dynamicform1.age" required >
<button type="submit" ng-disabled="dynamicform.$invalid">submit</button>
</form>
答案 0 :(得分:0)
问题是你没有编译新添加的html。您可以研究$compile
,它应该可以解决问题。
但我建议您使用数组来表示动态字段,这样您就可以更轻松地获取模型值。
$scope.dynamicFields = [];
$scope.adddynamicfield = function() {
var index = $scope.dynamicFields.length;
$scope.dynamicFields.push({
name: 'field' + index,
model: '',
className: 'field',
});
}