2017-04-15 77 views
0

来自ng书:ng-submit防止默认动作 - 意思?

我们使用ng-submit将表达式绑定到onsubmit事件。该指令还可以防止默认操作(发送请求并重新加载页面),但仅限于表单不包含操作属性。

以上段落的含义是什么?

+0

这似乎很自我解释。那你不明白吗? – TZHX

回答

0

这意味着:

<form ng-submit="submit()"></form> 

将阻止提交事件。永远不要将表单发布到你的服务器上。

<form ng-submit="$ctrl.submit()" action="/url" method="post"></form> 

防止默认提交事件。 如果你什么也不做,你的表单将被视为一个经典的html表单,并将结果发布到服务器上的/ url(在你的控制器提交代码之后)。

为了防止在这种情况下,你需要通过事件提交这样:

<form ng-submit="$ctrl.submit($event)" action="/url" method="post"></form> 

而在你的控制器:

function submit(event) { 
    event.preventDefault(); 
} 
0
  • 如果<form>标记有这两个属性:<form ng-submit="submit()" action="http://example.com">在这种情况下,它会调用“submit()”方法,并且它也会重定向到操作链接。
  • 但是,如果它只有ng-submit而不具有动作属性:<form ng-submit="submit()">在这种情况下,将不会提交重定向,它只会执行submit()方法。