在AngularJS中不直接以形式访问元素的属性

时间:2016-08-14 20:58:51

标签: angularjs validation

是否可以访问某些元素的$ dirty属性,这些元素不是直接放在表单中,如:

<form name="form">
    <div name="divInForm">
        <input type="text" name="inputInDivInForm">
    </div>
    <button ng-disabled="form.divInForm.inputInDivInForm.$dirty"></button>
</form>

1 个答案:

答案 0 :(得分:1)

首先,必须ngModel设置为input,否则无法正常工作。

此外,您必须以这种方式访问​​它:form.inputInDivInForm.$dirty

看看这个简单的示例

&#13;
&#13;
<!DOCTYPE html>
<html ng-app>

<head>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.min.js"></script>
</head>

<body>
  <form name="form">
    <div name="divInForm">
      <input type="text" ng-model="any" name="inputInDivInForm">
    </div>        
    <button type="submit" ng-disabled="form.inputInDivInForm.$dirty">Click</button>
  </form>
  <pre ng-bind="form.inputInDivInForm | json"></pre>
</body>

</html>
&#13;
&#13;
&#13;