如何使angularjs中的表单失效? (或如何禁用angularjs中的表单?)
我想要预防特定用户类型的表单提交,最好不必编辑控制器中的某些内容并且不使用任何类型的输入字段?所以基本上是这样的:如何使angularjs中的表单失效? (或如何禁用angularjs中的表单?)
<form>
<div class ="alert"
ng-if="user.type='not-allowed'"
maybe-an-invalidate-directive>
<p>No! Don't!</p>
<!-- or something like this ??? -->
<input type ="hidden"
required
ng-model="'false'">
</div>
....
</form>
虽然第一个应该是绝对可能的,但我很乐意听到更直接的解决方案。
编辑:
思考了一段时间之后,我想那就是我想要做的,是不是使得表格无效,但将其禁用。对于a solution see this question。
您可以在表单元素上使用ng-submit
指令,并且如果您不希望它提交,则返回false。
<form ng-submit="user.type !== 'not-allowed' && controller.function()">
有趣!我如何将它与ng-submit上的提交功能结合使用,例如'''form ng-submit =“user.type!=='not-allowed; submit()'”>''' – 2014-10-02 19:34:37
更新了我的答案。如果第一个表达式为false,则不会调用controller.function。 – 2014-10-02 19:36:55
不介意downvoters,我喜欢你的答案!几乎正是我所期待的。 – 2014-10-02 19:40:45
如果您不满意,请解释。 – 2014-10-02 19:22:25