gpt4 book ai didi

javascript - AngularJS 多种表单 - 如何按名称提交表单?

转载 作者:行者123 更新时间:2023-11-28 08:20:26 24 4
gpt4 key购买 nike

我正在使用 Angular UI Bootstrap Accordion ,每个 Accordion 中都有一个表单。如何通过表单ID或表单名称提交表单?本质上,我有一个绑定(bind)到 Accordion 的点击事件,我想以某种方式将表单的名称作为参数传递,然后提交它?

谢谢

http://plnkr.co/edit/GMJ8fTWqSw2STnG4V2Ri?p=preview

最佳答案

您应该传入表单绑定(bind)到的对象,或者只是从 Controller 的 $scope 动态拉取它,而不是传入表单的名称或 id。

在 Angular 中,在 Controller 中包含任何与 DOM 相关的内容都被认为是不好的形式。通过在 Controller 中使用 DOM,它极大地降低了 Controller 的测试能力,而 Controller 是 Angular 构建的关键支柱之一。

示例:

<form ng-submit="handleSubmit(formData)">
<input ng-model="formData.field1"/>
<input ng-model="formData.field2"/>
</form>

根据您的 plnkr 示例调用表单的 rcSubmit 属性中定义的函数,执行以下操作:

formElement.bind('submit', function () {
$parse(attributes.rcSubmit)();
});

documentation for $parse状态将 Angular 表达式转换为函数,这正是您在本例中所需要的。

关于javascript - AngularJS 多种表单 - 如何按名称提交表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23036607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com