Angularjs ng-disabled 无法正常工作

Angularjs ng-disabled not working properly

我试图仅在输入至少包含 18 个字符时才启用按钮。这是 HTML 代码:

<form id="frm.frmEntidade" name="frm.frmEntidade">
  <div>
    <input type="text" ng-model="entidade.cnpj" id="cnpjEntidade" name="cnpjEntidade" required />
    <span class="input-group-btn">
        <button title="Buscar Entidade" class="btn btn-primary" 
              type="button" ng-click="buscarEntidade(entidade.cnpj)" ng-
              disabled="frm.frmEntidade.cnpjEntidade.lenght !== 18">
              <span class="glyphicon glyphicon-search"></span>
        </button>
  </div>
</form>

但是按钮被禁用了,有人可以帮忙吗?

您在单词 length 上有一个拼写错误。变化:

<button [...]
        ng-disabled="frm.frmEntidade.cnpjEntidade.lenght !== 18">

收件人:

<button [...]
        ng-disabled="frm.frmEntidade.cnpjEntidade.length !== 18">

作为旁注,此条件检查它是否与 18 不同,而不是 "input is filled with at least 18 characters".

尝试ng-disabled="entidade.cnpj.length!=18"

最好使用 ng-minlength 进行表单验证。通过选中 $valid,您可以启用或禁用按钮

<form id="frm.frmEntidade" name="frm.frmEntidade">
<input type="text" ng-model="entidade.cnpj" id="cnpjEntidade" name="cnpjEntidade" required ng-minlength="18" />
    <span class="input-group-btn">
        <button title="Buscar Entidade" class="btn btn-primary" 
          type="button" ng-click="buscarEntidade(entidade.cnpj)" 
          ng-disabled="!frm.frmEntidade.$valid">
             <span class="glyphicon glyphicon-search"></span>
             Button
              </button>
   </span>  
</form>