【问题标题】:Submitting form from ngFormController从 ngFormController 提交表单
【发布时间】:2016-01-13 13:19:43
【问题描述】:

我已经制作了自己的表单指令<if-form form="vm.form" submit="vm.sendForm()"><if-fields></if-fields></if-form> 在该指令中,我有常规形式 <form name="vm.form">....</form>vm.form 我有 ngFormController(带有 $invalid、$dirty、$error 等)。

我想从外部<if-form> 提交表单。 如何使用vm.form 提交表单?我希望它通过所有验证。有可能吗?

【问题讨论】:

标签: angularjs forms


【解决方案1】:

您可以使用 ng-click 从任何地方调用您的提交函数:

ng-click="vm.sendForm()"

或者您可以使用 form="" 关联单独的提交按钮

  <input type="submit" value="Submit" form="vmForm">

【讨论】:

  • 使用 vm.SendForm() 不会触发表单验证。并且 input type=submit 也被排除在外,因为我想在 if-form 指令之外使用按钮
  • 如果您使用第一个选项,您可以在 sendForm() 函数中检查 $scope.vm.form.$valid。如果您使用第二个选项,form="" 部分会将提交输入关联到表单,即使它不在表单内。
  • 如果我可以检查天气是 $valid 我知道 - 但我无法触发整个验证。但我很惊讶第二个 - 我会试试 - 编辑:它不工作
  • 这是一个非常简单的插件,在提交表单的表单外显示了一个提交按钮:plnkr.co/edit/imp2GtmAt22ybAWmDJ6y?p=preview
  • 确保提交的 form="myForm" 与您的表单的 id="myForm" 匹配
猜你喜欢
  • 1970-01-01
  • 2019-08-25
  • 1970-01-01
  • 1970-01-01
  • 2019-12-11
  • 2013-09-30
  • 1970-01-01
  • 1970-01-01
  • 2022-11-22
相关资源
最近更新 更多