Javascript 强制禁用ng和ng显示以重新评估自定义功能
我想用我的自定义js函数“isValid”验证表单。我是这样做的:Javascript 强制禁用ng和ng显示以重新评估自定义功能,javascript,angularjs,Javascript,Angularjs,我想用我的自定义js函数“isValid”验证表单。我是这样做的: <input id="pricecondition" name="pricecondition" ng-model="user.pricecondition" ng-focus="user.pricecondition=''" required /> <button ng-click="submit()" ng-disabled="form.$invalid && user.isValid"&
<input id="pricecondition" name="pricecondition" ng-model="user.pricecondition" ng-focus="user.pricecondition=''" required />
<button ng-click="submit()" ng-disabled="form.$invalid && user.isValid">submit</button>
因此,当属性长度或价格条件更改值时,会触发函数isValid,但按钮似乎不会重新计算user.isValid。按钮已启用。显然,函数isValid返回false
如何强制ng disabled或ng show再次调用isVlaid()
问候语要使用“form.$invalid”,必须有一个带有name属性的表单元素。 此外,如果表单无效或用户无效,我会使按钮无效
<form ng-submit="submit()" name="form" novalidate >
<input id="pricecondition" name="pricecondition" ng-model="user.pricecondition" ng-focus="user.pricecondition=''" required />
<button ng-disabled="form.$invalid || !user.isValid()">submit</button>
</form>
提交
您的评论中有另一个问题,很抱歉,一开始我没有注意到。。。
使用formname而不是标记名禁用按钮
<form name="myform" novalidate >
// your html
<button ng-disabled="myform.$invalid">submit</button>
</form>
//你的html
提交
或者,如果表单中有表单,则使用ng表单
<form name="parentForm">
<div ng-form="myform1">
// your html
<button ng-disabled="myform1.$invalid">submit1</button>
</div>
<div ng-form="myform2">
// your html
<button ng-disabled="myform2.$invalid">submit2</button>
</div>
</form>
//你的html
提交1
//你的html
提交2
ng disabled=“form.$invalid&&user.isValid()”
考虑到user.isValid是一个函数,请尝试在其后面添加括号…谢谢提示!我在isValid()中添加了括号,但对我来说仍然不起作用。我删除了表单。$无效,现在可以使用了。ng disabled=“!user.isValid()”。我不知道为什么它不能使用两个语句,比如ng disabled=“form.$invalid&&!user.isValid()”谢谢您的解释。
<form name="parentForm">
<div ng-form="myform1">
// your html
<button ng-disabled="myform1.$invalid">submit1</button>
</div>
<div ng-form="myform2">
// your html
<button ng-disabled="myform2.$invalid">submit2</button>
</div>
</form>