这是一个愚蠢的问题但是有可能在窗外获得形式状态。像,
<form name="form">
<input type="text" name="name" required />
</form>
<button ng-disabled="form.$invalid"></button>
因为,按钮是外部表格标签,无法获取状态 我们是否有其他方法可以实现相同的目标(可能正在使用其他语言)?
答案 0 :(得分:1)
你可以在你的控制器范围内的任何地方使用表单对象,在我的理解中,angularJs将表单对象绑定到当前的ctrl范围,这就是为什么我们能够在形式范围之外使用它。
这里是演示
SELECT s.total,s.is_completed,p.tot,p.completed,st.uid,st.unm,sl.verify,sl.saldate FROM (SELECT sum('count') As total, sum('is_completed') As is_completed, user_id AS stepid FROM stepvice) AS s LEFT OUTER JOIN (SELECT id AS uid,name AS unm from staffcredentials) As st ON st.uid=s.stepid LEFT OUTER JOIN (SELECT sum('count') As tot, sum('is_completed') As completed, user_id AS pageid FROM pagevice) AS p ON p.pageid=s.stepid LEFT OUTER JOIN (SELECT check AS verify, user_id AS salid,date AS saldate FROM staffsalary) As sl ON sl.salid=p.pageid WHERE st.uid=$ids[$i]"
angular
.module('app', [])
.controller('ctrl', AppCtrl)
function AppCtrl() {
this.showFormInfo = function(form) {
console.log(form);
}
}
答案 1 :(得分:0)
你需要做两件事。
请尝试以下代码
<form name="form">
<input type="text" name="test" ng--model="test" required />
</form>
<button ng-disabled="form.$invalid" ng-click="buttonClicked()"></button>
现在您可以访问buttonClicked()函数内的测试。在控制器中添加此功能。
答案 2 :(得分:0)
我发布的问题非常好,可能对开发人员有用 实际上,角度也保留了它的块之外的形式范围。
但永远不要在表单块中使用 name =“name”属性。 否则表格将不会被验证。
所以答案是,
您可以在<form>
块之外获取表单状态(可能仅适用于Angular)。
答案 3 :(得分:0)
首先,我发布到我自己的问题的答案是错误的。 经过大量的研究后,我发现了我发布的问题。
请看看这个plunker,你会越来越了解。 https://plnkr.co/edit/IQ4eJ0NEM3rgWH2Atfh9?p=preview
是否,无关紧要
1. name =&#34; name&#34; 属性,
2. <form name="form">
,
3.或者您想要的表单状态超出<form>
标记。
问题是ng-if
条件切换你的表格
您可以改用ng-show
或ng-hide
。
谢谢。