首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >angularJs在提交时禁用表单按钮

angularJs在提交时禁用表单按钮
EN

Stack Overflow用户
提问于 2019-02-21 04:14:55
回答 1查看 81关注 0票数 1

在我的Angular 1.x应用程序中,我通过对后端的api调用获得了一个报价列表。

对于回复中返回的每个提议,我都创建了一个ng-form。然后,我以模式显示表单,并且我希望在表单数据发布到后端时,能够禁用每个表单的提交按钮,以避免在表单数据发布到后端时多次单击。

这似乎很棘手,因为优惠的数量是未知的,因此我不确定如何为每个优惠初始化一个变量来禁用按钮。

如果我只有一个表单,任务会简单得多,我可以设置:

代码语言:javascript
运行
复制
$scope.disableButton = true

..。然后在按钮上使用ng-disabled

到目前为止,我显示的表单如下所示:

代码语言:javascript
运行
复制
<div ng-form ng-repeat="i in offers track by $index" name="messageForm[$index]" class="row ng-cloak">

     ....
     <button type="button" ng-click="offerRespond(messageForm[$index])" ng-disabled="!messageForm[$index].$valid || offer.i.disableButtons">Submit</button>

</div>

然后在我的控制器的offerRespond函数中:

代码语言:javascript
运行
复制
offer = this;
offer.i.disableButtons = true;

这当然不起作用,但这是我能得到的最接近的结果。

一个技巧是在将Offers对象传递到前端之前对其进行解析,但这似乎是一个可怕的技巧。

EN

回答 1

Stack Overflow用户

发布于 2019-02-21 04:58:01

实际上我在我的实现中几乎有了答案,我只是在正确地引用了我的变量:

代码语言:javascript
运行
复制
ng-disabled="!messageForm[$index].$valid || offer.i.disableButtons"

应该是

代码语言:javascript
运行
复制
ng-disabled="!messageForm[$index].$valid || i.disableButtons"

感谢@igor给了我一个测试的想法,让我自己揭示了答案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54794546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档