0

在我的模态弹出代码中,我试图禁用一个按钮,如果文本框是空的或没有输入任何内容。ng-disabled不能正常工作

<div id="add_account_modal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="ModalForAddAccount" aria-hidden="true"> 
    <div class="modal-body"> 
     <h3>Add a new Account</h3> 
     <form class=" " name="addAccountForm"> 
      <div class="control-group"> 
       <div class="controls"> 
        <label class="control-label" style="display: inline"> 
         Account Name 
         <span class="controls" style="display: inline;color:red;">*</span> 
        </label> 

        <div class="controls" style="display: inline"> 
         <input type="text" class="input-large" ng-model="vm.addedAccount" style="margin-top: 5px;margin-left:7px;"> 
        </div> 
       </div> 
      </div> 
      <div class="control-group"> 
       <div class="btn-group"> 
        <button class="btn btn-primary " ng-class="{'disabled':vm.addedAccount === ''}" ng-click="vm.submitAddAccount()">Submit</button> 
        <button class="btn btn-link" data-dismiss="modal" aria-hidden="true">Close</button> 
       </div> 
      </div> 
     </form> 
    </div> 
</div> 

但是模式弹出式加载的提交按钮没有被禁用。

我也试过:

<button class="btn btn-primary " ng-disabled="vm.addedAccount === ''" ng-click="vm.submitAddAccount()">Submit</button> 

但也没有工作。

我在做什么错?

回答

1

即使ng-disabled为真,ng-click也会触发 改为使用ng-submit而不是ng-disabled。

<form class=" " name="addAccountForm" ng-submit="vm.submitAddAccount()"> 
     <div class="control-group"> 
      <div class="controls"> 
       <label class="control-label" style="display: inline"> 
        Account Name 
        <span class="controls" style="display: inline;color:red;">*</span> 
       </label> 

       <div class="controls" style="display: inline"> 
        <input type="text" class="input-large" ng-model="vm.addedAccount" style="margin-top: 5px;margin-left:7px;"> 
       </div> 
      </div> 
     </div> 
     <div class="control-group"> 
      <div class="btn-group"> 
       <button type="submit" class="btn btn-primary " ng-disabled="vm.addedAccount === ''">Submit</button> 
       <button class="btn btn-link" data-dismiss="modal" aria-hidden="true">Close</button> 
      </div> 
     </div> 
    </form> 
0

你可以用这种方式:

<button class="btn btn-primary " ng-disabled="!vm.addedAccount.length" ng-click="vm.submitAddAccount()">Submit</button>