如何禁用 'submit' 按钮?
How to make 'submit' button disabled?
如何在表单有效之前禁用 "Submit" 按钮?
angular2 是否有等效于 ng-disabled 的功能可以用在提交按钮上? (ng-disabled 对我不起作用。)
如本 Angular example 所示,有一种方法可以在整个表单有效之前禁用按钮:
<button type="submit" [disabled]="!ngForm.valid">Submit</button>
在 Angular 2.x.x , 4, 5 ...
<form #loginForm="ngForm">
<input type="text" required>
<button type="submit" [disabled]="loginForm.form.invalid">Submit</button>
</form>
这是一个工作示例(您必须相信我,控制器上有一个 submit() 方法 - 它打印一个对象,如 {user: 'abc'} if 'abc'在输入字段中输入):
<form #loginForm="ngForm" (ngSubmit)="submit(loginForm.value)">
<input type="text" name="user" ngModel required>
<button type="submit" [disabled]="loginForm.invalid">
Submit
</button>
</form>
如您所见:
- 不使用loginForm.form,只使用loginForm
- loginForm.invalid 和 !loginForm.valid 一样有效
- 如果你想让 submit() 传递正确的值,输入元素应该有 name 和 ngModel 属性
此外,这是您不使用我推荐的新 FormBuilder 的时候。使用 FormBuilder 时情况非常不同。
表单验证在 Angular 2
中非常简单
这是一个例子,
<form (ngSubmit)="onSubmit()" #myForm="ngForm">
<div class="form-group">
<label for="firstname">First Name</label>
<input type="text" class="form-control" id="firstname"
required [(ngModel)]="firstname" name="firstname">
</div>
<div class="form-group">
<label for="middlename">Middle Name</label>
<input type="text" class="form-control" id="middlename"
[(ngModel)]="middlename" name="middlename">
</div>
<div class="form-group">
<label for="lastname">Last Name</label>
<input type="text" class="form-control" id="lastname"
required minlength = '2' maxlength="6" [(ngModel)] = "lastname" name="lastname">
</div>
<div class="form-group">
<label for="mobnumber">Mob Number</label>
<input type="text" class="form-control" id="mobnumber"
minlength = '2' maxlength="10" pattern="^[0-9()\-+\s]+$"
[(ngModel)] = "mobnumber" name="mobnumber">
</div>
<button type="submit" [disabled]="!myForm.form.valid">Submit</button>
</form>
可能下面的代码可以提供帮助:
<button type="submit" [attr.disabled]="!ngForm.valid ? true : null">Submit</button>
这对我有用。
.ts
newForm : FormGroup;
.html
<input type="button" [disabled]="newForm.invalid" />
请务必在每个强制输入标签中包含“required”关键字,这样才能使其正常工作。
<form (ngSubmit)="login(loginForm.value)" #loginForm="ngForm">
...
<input ngModel required name="username" id="userName" type="text" class="form-control" placeholder="User Name..." />
<button type="submit" [disabled]="loginForm.invalid" class="btn btn-primary">Login</button>
.html
<form [formGroup]="contactForm">
<button [disabled]="contactForm.invalid" (click)="onSubmit()">SEND</button>
.ts
contactForm: FormGroup;
如何在表单有效之前禁用 "Submit" 按钮?
angular2 是否有等效于 ng-disabled 的功能可以用在提交按钮上? (ng-disabled 对我不起作用。)
如本 Angular example 所示,有一种方法可以在整个表单有效之前禁用按钮:
<button type="submit" [disabled]="!ngForm.valid">Submit</button>
在 Angular 2.x.x , 4, 5 ...
<form #loginForm="ngForm">
<input type="text" required>
<button type="submit" [disabled]="loginForm.form.invalid">Submit</button>
</form>
这是一个工作示例(您必须相信我,控制器上有一个 submit() 方法 - 它打印一个对象,如 {user: 'abc'} if 'abc'在输入字段中输入):
<form #loginForm="ngForm" (ngSubmit)="submit(loginForm.value)">
<input type="text" name="user" ngModel required>
<button type="submit" [disabled]="loginForm.invalid">
Submit
</button>
</form>
如您所见:
- 不使用loginForm.form,只使用loginForm
- loginForm.invalid 和 !loginForm.valid 一样有效
- 如果你想让 submit() 传递正确的值,输入元素应该有 name 和 ngModel 属性
此外,这是您不使用我推荐的新 FormBuilder 的时候。使用 FormBuilder 时情况非常不同。
表单验证在 Angular 2
中非常简单这是一个例子,
<form (ngSubmit)="onSubmit()" #myForm="ngForm">
<div class="form-group">
<label for="firstname">First Name</label>
<input type="text" class="form-control" id="firstname"
required [(ngModel)]="firstname" name="firstname">
</div>
<div class="form-group">
<label for="middlename">Middle Name</label>
<input type="text" class="form-control" id="middlename"
[(ngModel)]="middlename" name="middlename">
</div>
<div class="form-group">
<label for="lastname">Last Name</label>
<input type="text" class="form-control" id="lastname"
required minlength = '2' maxlength="6" [(ngModel)] = "lastname" name="lastname">
</div>
<div class="form-group">
<label for="mobnumber">Mob Number</label>
<input type="text" class="form-control" id="mobnumber"
minlength = '2' maxlength="10" pattern="^[0-9()\-+\s]+$"
[(ngModel)] = "mobnumber" name="mobnumber">
</div>
<button type="submit" [disabled]="!myForm.form.valid">Submit</button>
</form>
可能下面的代码可以提供帮助:
<button type="submit" [attr.disabled]="!ngForm.valid ? true : null">Submit</button>
这对我有用。
.ts
newForm : FormGroup;
.html
<input type="button" [disabled]="newForm.invalid" />
请务必在每个强制输入标签中包含“required”关键字,这样才能使其正常工作。
<form (ngSubmit)="login(loginForm.value)" #loginForm="ngForm">
...
<input ngModel required name="username" id="userName" type="text" class="form-control" placeholder="User Name..." />
<button type="submit" [disabled]="loginForm.invalid" class="btn btn-primary">Login</button>
.html
<form [formGroup]="contactForm">
<button [disabled]="contactForm.invalid" (click)="onSubmit()">SEND</button>
.ts
contactForm: FormGroup;