2016-03-02 150 views
1

我有一個使用ui.router多步AngularJs形式,請參見下面的一面:AngularJS多步驟的形式(ui.router)提交

,你可以在窗體有多個步驟,可以在提交前。每一步都有自己的看法。

起初我只用了一個單頁的形式和我提交表單到我的API,像這樣:

<form name="myForm" action="/signup" method="POST"> 

以上工作非常出色的單頁形式這不以工作多步驟形式。

原因我相信當點擊我表單最後一步的提交按鈕時,提交按鈕無法訪問以前表單步驟/頁面中的用戶輸入。並且服務器/ API需要POST請求中的所有用戶輸入,因此它被拒絕。

所以我的問題是我怎麼可以填寫<form action="/signup" method="POST">

我已經嘗試通過角$ HTTP POST功能發佈形式AngularJS多步(ui.router)形式,但並沒有讓我使用passport.js在服務器端重定向用戶。您可以在我的SO question

上看到有關此問題的詳細信息。

+0

你如何存儲表單的數據? –

+0

您可以更新模型並將其保存在localStorage或其他東西中,然後在提交時檢索它。然後刪除存儲:) – Alok

+0

@SatejS你是指在提交之前存儲在後端或前端? – Skywalker

回答

0

這個邏輯是完全錯誤的,如果你想要在UI中使用多步驟形式,你不應該使用路由,因爲一個移動到下一個表單(下一個url),那個舊的將從DOM中移除,所以你可以不保留已經輸入的值。

在這種情況下,您可以簡單地使用ng-if/ng-show/ng-hide方法在下一步中移動。

所有最好的... !!!如果你喜歡,請投票

+0

從根目錄的值這不是真正的解決方案.. –

+0

@Kamal Raj我不同意,我認爲使用路由是一種實現多步表單的好方法。它允許使用'ui-view'注入視圖。看到此鏈接先前由Satej S共享https://scotch.io/tutorials/angularjs-multi-step-form-using-ui-router – Skywalker

+0

helo你知道什麼是路由器的使用? –