2016-02-24 49 views
0
<div ng-app="myApp"> 
    <div ng-controller="firstController"> 
    <form name=form1> 
    //there are some required fields here 
    <input type="button" ng-click="submit1(form1)"/> 
    </form> 
    </div> 

    <div ng-controller="secondController"> 
    <form name=form2> 
     // there are some required fields here 
     <input type="button" ng-click="submit2(form2)"/> 
     //I can check the status in controller by "$scope.form2.$valid" here 
    </form> 
    </div> 
    <div ng-controller="checkStatus"> 
    <input type="button" ng-click="submit3(form1,form2)"/> 
    //how can i check here 
    </div> 
</div> 

正如上面的代碼,我有不同的控制器和不同的形式與它相關聯。有一個部分,我需要檢查所有表格狀態 因爲我是新的角js可以幫助我的任何人,如何解決這個問題。任何幫助,可能會感激。我有兩種形式和兩個控制器,現在我想檢查角度js中不同控制器中這兩種形式的狀態?

回答

0

您可以有父窗體。如果任何它的孩子表格將視作無效,那麼家長也將被無效:

<div ng-form="parentForm"> 
    ... two forms inside 
</div> 

然後檢查parentForm.$valid

0

試試這個jsfiddle

只需將form更改爲ng-form即可。並添加父母ng-form作爲@karaxuna說。

function MyCtrl1($scope) { 
 
    $scope.test1 = "12"; 
 
}; 
 

 
function MyCtrl2($scope) { 
 
    $scope.test2 = "34"; 
 
}; 
 

 
function MyCtrl3($scope) {};
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app> 
 
    <div ng-form="parentForm"> 
 
    <div ng-controller="MyCtrl1"> 
 
     <div ng-form="form1"> 
 
     <input required ng-model="test1"> 
 
     </div> 
 
    </div> 
 
    <div ng-controller="MyCtrl2"> 
 
     <div ng-form="form2"> 
 
     <input required ng-model="test2"> 
 
     </div> 
 
    </div> 
 
    <div ng-controller="MyCtrl3"> 
 
     <div ng-form="form3"> 
 
     <input required ng-model="test3"> 
 
     <pre>parentForm.$invalid = {{parentForm.$invalid}} 
 
     parentForm.$valid = {{parentForm.$valid}}</pre> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>

0

使用jQuery

angular.element('#firstController').scope().submit2() 你可以在任何地方調用

採用了棱角分明

<div id="main" ng-controller="main"> 
<div id="firstController" ng-controller="firstController"> 
<form ></form> 
</div> 

<div id="secondController" ng-controller="secondController"> 
<form ></form> 
</div>  
</div> 

從第一控制器

$scope.$parent.submit2() 調用第二控制器功能你用你上面以前更應該將其設置爲父範圍。

相關問題