【发布时间】:2020-04-05 13:26:19
【问题描述】:
我有一个 angular js 表单和一个表单外的按钮(angular material md-button)。我想在表单无效时禁用按钮,但从外部访问表单似乎是不可能的:(
注意:我为我的按钮和 ng-disabled="secFoundedFormId.$invalid" 尝试了表单属性,但表单之外的这个表达式似乎没有被怀疑!
感谢任何帮助
这是我总结的代码:
<form flex="100" ng-if="secretaryFound" name="secFoundedForm" id="secFoundedFormId">
<!-- my required input -->
<div class="disabledInputMargin" flex="95" flex-xs="100" layout="row"
layout-align="start start">
<md-icon class="zeroMargin" style="color:{{DashboardParams.iconColor2}};">
person
</md-icon>
<md-select class="zeroMargin" flex="100" flex-xs="100" required
ng-model="form.workplaceLableId"
name="mahaelekar"
placeholder="{{'WORKPLACE' | translate}}">
<md-option ng-repeat="workplace in workplaceLableList"
value="{{workplace.id}}">
{{workplace.addressLable}}
</md-option>
</md-select>
</div>
</form>
****{{secFoundedForm.$invalid}}*** <!-- this is not show enything -->
<div style="padding: 0">
<div flex="100"
layout="row"
layout-xs="column"
layout-align="end stretch">
<!-- my button is below -->
<md-button ng-if="secretaryFound" ng-click="inviteSecretary();"
name="secFoundedFormId"
form="secFoundedFormId"
style="background-color:{{DashboardParams.iconColor2}};color: white"
ng-disabled="secFoundedForm.mahaelekar.$invalid"
flex="20" flex-xs="100">
{{'INVITE' | translate}}
</md-button>
<md-button ng-click="backToSecretary();" style="background-color: #9d9d9d;color: white"
flex="20" flex-xs="100">
{{'BACK' | translate}}
</md-button>
</div>
</div>
</div>
【问题讨论】:
-
@Saniyasyedqureshi 我试试这个,但它不起作用。因为表达式 secFoundedForm.$invalid,没有定义在表单范围之外。
标签: html angularjs forms button angular-material