2017-04-15 73 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()方法。