Angular [disabled]不执行任何操作

时间:2018-09-12 00:00:25

标签: html angular

我使用角度6.2.1

它应禁用“提交”按钮,但不执行任何操作……

这什么都不做[disabled] =“!heroForm.form.valid”,但此[disabled] =“ heroForm.form.valid”可行,但这不是我想要的

当输入为空时,应禁用该按钮,但不禁用

当表单有效时,当[disabled] =“ heroForm.valid”时,它禁用按钮,但这不是我想要的。我不知道输入为空时为什么有效,我在每个输入中都需要使用

<form #heroForm="ngForm" (ngSubmit)="hola()">
<div class="form-row">
      <div class="form-group col-md-6">
        <label for="inputEmail4">First Name</label>
        <input type="text" class="form-control" placeholder="First name" 
required>
      </div>
      <div class="form-group col-md-6">
        <label for="inputEmail4">Last Name</label>
        <input type="text" class="form-control" placeholder="Last name" 
required>
      </div>
    </div>
<button type="submit" class="btn btn-outline-primary" 
[disabled]="!heroForm.form.valid">Sign in</button>
  </form>

2 个答案:

答案 0 :(得分:4)

您可以尝试[disabled] = “heroform.invalid”

这里是一个例子 https://stackblitz.com/edit/angular-symxeg?file=src%2Fapp%2Fapp.component.html

您在输入字段上缺少ngModel属性和name属性,这就是ngForm不知道要验证什么的原因

答案 1 :(得分:2)

怎么样

<button type="submit" class="btn btn-outline-primary"
  [disabled]="!heroForm.valid">
  Sign in
</button>