Angularjs 名称为'';在窗体中不可聚焦
我在Stackoverflow尝试了很多答案,但没有一个有效:Angularjs 名称为'';在窗体中不可聚焦,angularjs,Angularjs,我在Stackoverflow尝试了很多答案,但没有一个有效: <form ng-submit="runIt(cars)"> <input type="radio" ng-model="cars.erp" value="Toyota" ng-required="!cars.erp">Toyota <br> <input type="radio" ng-model="cars.erp" value="Nissan" ng-requi
<form ng-submit="runIt(cars)">
<input type="radio" ng-model="cars.erp" value="Toyota" ng-required="!cars.erp">Toyota
<br>
<input type="radio" ng-model="cars.erp" value="Nissan" ng-required="!cars.erp">Nissan
<br>
<input type="radio" ng-model="cars.erp" value="Honda" ng-required="!cars.erp">Honda
<br>
<input type="radio" ng-model="cars.erp" value="Other" ng-required="!cars.erp">Other
<input type="text" ng-model="cars.other" ng-show="cars.erp=='Other'" ng-required="!cars.other">
<br>
<input type="submit">
</form>
丰田
日产
本田
其他
只有在Other
中键入一个值后,它才开始工作。显然,这是由于隐藏的输入,但这是它应该如何工作的:
- 必须提交一个值
- 如果选择了“其他”,则必须键入值
- 跑
- 选择丰田
- 单击提交
- 请参见检查中的控制台
ng model
是cars.other
,然后您正在检查ng required=“!cars.other”
是否不正确。您需要文本字段本身。相反,它应该取决于单选按钮的值。类似于ng required=“cars.erp=='Other'”
我已经在这里更新了JSFIDLE->。希望这有帮助 您的文本字段的
ng model
是cars.other
,然后您正在检查ng required=“!cars.other”
是否不正确。您需要文本字段本身。相反,它应该取决于单选按钮的值。类似于ng required=“cars.erp=='Other'”
我已经在这里更新了JSFIDLE->。希望这有帮助 出现“名称为“”的无效表单控件不可聚焦”的特定错误的原因是浏览器希望聚焦于所需的表单元素(文本输入),但该元素不可见
您的意思是,只有当cars.other的计算结果为false时,才需要文本字段。换句话说,您是说文本字段在未填写时是必需的。如果cars.erp设置为other,则实际需要的是文本字段
出现“名称为“”的无效表单控件不可聚焦”的特定错误的原因是浏览器希望聚焦于所需的表单元素(文本输入),但该元素不可见
您的意思是,只有当cars.other的计算结果为false时,才需要文本字段。换句话说,您是说文本字段在未填写时是必需的。如果cars.erp设置为other,则实际需要的是文本字段
您使用的浏览器是什么?在ChromeChrome@riqitang中,它似乎对我很好。您使用的浏览器是什么?在ChromeChrome@riqitang中对我来说似乎很好