Подтвердить что ты не робот

AngularJS: как отключить все элементы управления формы в форме?

Я хочу отключить все компоненты формы, чтобы его нельзя было отредактировать при нажатии кнопки просмотра. это моя форма

<form action="#" class="form-horizontal" >
   <div class="form-group">
      <label for="fieldname" class="col-md-3 control-label">Name</label>
      <div class="col-md-6">
         <input type="text" ng-model="newItem.customSelected" typeahead="name as name.name for name in members | filter:{name:$viewValue}" class="form-control" />
      </div>
   </div>
   <div class="form-group">
      <label for="fieldhname" class="col-md-3 control-label">House name</label>
      <div class="col-md-6">
         <input type="text" ng-model="newItem.customSelected1" typeahead="house_name as house_name.house_name for house_name in family | filter:{house_name:$viewValue}" class="form-control" />
      </div>
   </div>
   <div class="form-group">
      <label for="" class="col-md-3 control-label"><?php echo $this->lang->line('label_family_id'); ?></label>
      <div class="col-md-6">
         <input type="text" ng-model="newItem.customSelected2" typeahead="fm as fm.family_reg_no for fm in family | filter:{family_reg_no:$viewValue}" class="form-control" />
      </div>
   </div>
   <div class="col-md-3"></div>

</form>

и это моя кнопка

<input type="button" class="finish btn-success btn" ng-click="view(newItem)" value="view"/>
4b9b3361

Ответ 1

Вместо того, чтобы обрабатывать его на уровне каждого поля, вы можете поместить все элементы формы в набор полей и использовать ng-disabled для отключения всего набора полей.

Ответ 2

вы можете использовать тег fieldset, окружая ваши кнопки с помощью fieldset и используя атрибут ng-disabled:

<form action="#" class="form-horizontal" >
   <fieldset ng-disabled="isClicked">
      <!--your form here --!>
   </fieldset>
</form>

теперь все, что осталось, находится в функции view(newItem) do:

$scope.view = function(newItem){
   $scope.isClicked = true;
   // Your code here and set it to false when your are done with it
}

Ответ 3

Вы можете использовать наложение и иметь ng-show на нем, или вы можете добавить к каждому входу ng-disabled

Ответ 4

  • Задайте переменную области видимости при нажатии кнопки просмотра.
  • Используйте ng-disabled в сочетании с переменной области видимости для отключения полей.