我有一个简单的表单,用于在 MailChimp 列表中注册信息。如果输入字段尚未填写,我想禁用“提交”按钮。
<div class="demo" data-ng-if="demo && !register">
<form action="MAILCHIMP_ADDRESS" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate demoform" data-ng-init="demoUser = {}" target="_blank" autocomplete="off" novalidate>
<div class="control-group">
<div class="form-group">
<input type="email" name="EMAIL" data-ng-model="demoUser.email" class="form-control" placeholder="Insira seu e-mail profissional">
</div>
</div>
<div class="control-group">
<div class="form-group">
<input type="text" name="EMPRESA" data-ng-model="demoUser.empresa" class="form-control" placeholder="Insira sua empresa">
</div>
</div>
<div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_0a5d36c63e174c949789feea5_200f88e472" tabindex="-1" value=""></div>
<div class="clear pull-right">
<button type="submit" class="btn btn-outline-light" data-ng-disabled="mc-embedded-subscribe-form.$invalid" data-ng-click="demoLogin(demoUser)">Enviar</button>
</div>
</form>
</div>
我在这里做错了什么?
最佳答案
这是因为您在表单名称中使用了连字符。
这是一个已知问题的解释here还指出here 。
因此,您必须将表单名称更改为 myForm
或不带连字符的名称。
data-ng-disabled="myForm.$invalid"
检查这个plunker带有连字符的一种形式不起作用,另一种则起作用
关于javascript - AngularJS ngDisabled 无法在表单内工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35879289/