如果用户没有填写所有必填字段,我已尝试使用不同的方法来禁用表单提交按钮
我试图理解这是如何工作的,因为它是随机发生的,我总是使用类似的方法。
这是html:
<form name="newContactForm" novalidate>
<md-card layout="column" layout-align="center" layout-wrap>
<md-card-content flex="50">
<div layout="row" layout-align="center" layout-wrap>
<md-input-container flex="25">
<label>Name</label>
<input name="name" ng-model="newContact.name" required>
</md-input-container>
<md-input-container flex="25">
<label>Telephone</label>
<input name="tel" ng-model="newContact.tel" required>
</md-input-container>
<md-input-container flex="25">
<label>Email</label>
<input name="email" ng-model="newContact.email" required>
</md-input-container>
<md-input-container flex="25">
<label>Title</label>
<input name="title" ng-model="newContact.title" required>
</md-input-container>
<md-input-container flex="100">
<label>Notes</label>
<textarea name="notes" ng-model="newContact.notes" required md-maxlength="150" maxlength="150"></textarea>
</md-input-container>
</div>
</md-card-content>
<md-card-actions layout="row" layout-align="end center">
<md-button ng-disabled="newContactForm.$invalid" ng-click="create(newContact)">Submit</md-button>
<md-button>Cancel</md-button>
</md-card-actions>
</md-card>
</form>
这仍然没有禁用Submit
按钮,我在这里做错了什么?
更多信息
如果有帮助,我会在md-dialog
中找到该表单。
我也尝试过做
setTimeout(function () {
console.log($scope.newContactForm.$valid);
}, 2000);
返回Cannot read property '$valid' of undefined
。
答案 0 :(得分:0)
尝试使用!valid
代替invalid
,如
<md-button ng-disabled="!newContactForm.$valid" ng-click="create(newContact)">Submit</md-button>
如果有效,请告诉我