2017-09-01 49 views
0

我使用AngularJS來驗證表單,並且我有這個按鈕來提交。

<button type="submit" ng-disabled="btn" ng-click="submit(settings.$valid)" 
     class="btn btn-primary"> 
    Submit 
</button> 

禁用此按鈕,每當形式是無效的,但一旦它是有效的,該按鈕將被啓用。

所以這是我的代碼

$http.get("http://localhost:5000/settings").then(function(response){ 
    $scope.numberOfRows = response.data.numberOfRows 
    console.log($scope.numberOfRows) 
    if($scope.numberOfRows==0 && $scope.settings.$valid == false){ 
     $scope.btn=true 
    }else if($scope.numberOfRows==0 && $scope.settings.$valid == true){ 
     $scope.btn=false 
    } 

    if($scope.numberOfRows==1){ 
     $scope.btn=true 
    } 

}) 

我的問題是,當numberOfRows = 0,形式爲無效,我無法提交我想要的形式。

但是,當我填寫我的表格,它變成有效,nothings發生。

你能幫我嗎?

+0

你說的沒什麼意思了?你能詳細解釋一下嗎? –

+0

我的意思是,只要我填寫正確的表單,該按鈕仍然被禁用,我不能提交表格 –

+0

你可以調試這只是做'{{btn}}'在html中,並執行'console.log($範圍.nu​​mberOfRows,$ scope.settings。$ valid)'在你給的函數裏面! –

回答

0
$http.get("http://localhost:5000/settings").then(function(response){ 
    $scope.hasRow= response.data.numberOfRows>0; 
    $scope.settings.$valid=$scope.hasRow; 
}) 

和將此代碼添加到您的HTML

<button type="submit" ng-disabled="!settings.$valid" ng-click="submit()" 
     class="btn btn-primary"> 
    Submit 
</button>