【问题标题】:How to disable angularjs from capturing my form submit for the second submit button如何禁用 angularjs 为第二个提交按钮捕获我的表单提交
【发布时间】:2014-03-13 04:18:16
【问题描述】:

感谢您的检查。 我正在使用 angularjs 构建一个 Web 应用程序。我有两个按钮,一个将使用 angularjs 将 Ajax 发布到服务器,另一个将普通的 html 发布到服务器。我希望第二个直接发布到服务器的原因是我想在服务器上生成一个 excel 文档并将其返回给 tp 用户以在响应时下载。 请问如何禁用 angularjs 为第二次提交按钮捕获我的表单提交

【问题讨论】:

  • 你能分享你的代码吗? html & 脚本
  • 我认为发布我的代码不会有太大作用。我正在尝试做的与 jquery 中的类似。 e.preventDefault() 将阻止 html 表单发布,但如果您省略它,表单将正常发布。我在 angularjs 中寻找类似的功能
  • angularjs 在ng-click 和其他方法中将事件对象作为$event 给出

标签: c# javascript ajax angularjs


【解决方案1】:

我想说最简单的方法是将不应发布表单的按钮更改为不是表单按钮,而是另一个不具有该默认行为的元素。也就是说,改变这个:

<form>
  <input type="text">

  <input type="submit" ng-click="doStuff()" value="Ajaxy things">
  <input type="submit" value="Real post">
</form>

到:

<form>
  <input type="text">

  <a ng-click="doStuff()">Ajaxy things</a>
  <input type="submit" value="Real post">
</form>

并将a 设置为看起来像一个按钮。

【讨论】:

  • 感谢您的回答。我是角度新手。我认为我必须始终将 ng-submit 包含在表单中。
  • 如果你想劫持表单提交并阻止浏览器发布,你只需要ng-submit。在这种情况下,您希望浏览器发布它,因此实际上不需要 ng-submit。
猜你喜欢
  • 1970-01-01
  • 2017-09-07
  • 2018-08-25
  • 2016-04-03
  • 1970-01-01
  • 1970-01-01
  • 2018-06-30
  • 1970-01-01
相关资源
最近更新 更多