Javascript AngularJS多步骤表单(ui.router)提交

Javascript AngularJS多步骤表单(ui.router)提交,javascript,angularjs,node.js,forms,angular-ui-router,Javascript,Angularjs,Node.js,Forms,Angular Ui Router,我有一个多步骤AngularJs表单,它使用ui.router,请参见下面的内容: signup.config(function($stateProvider, $urlRouterProvider,$locationProvider) { $stateProvider // route to show our basic form (/form) .state('signup', { url: '/signup', templateUrl

我有一个多步骤AngularJs表单,它使用
ui.router
,请参见下面的内容:

signup.config(function($stateProvider, $urlRouterProvider,$locationProvider) {

  $stateProvider

    // route to show our basic form (/form)
    .state('signup', {
        url: '/signup',
        templateUrl: './stepOne.ejs',
        controller: 'login'
    })

    // nested states 
    // each of these sections will have their own view
    .state('signup.form', {
        url: '/form',
        templateUrl: './stepTwo.ejs'

    })

    .state('signup.interests', {
        url: '/interests',
        templateUrl: './stepThree.ejs'
    })

     $urlRouterProvider.otherwise('/signup/form');
});
正如您所知,表单在提交之前有多个步骤。每一步都有自己的观点

最初我只有一个单页表单,我将表单提交给API,如下所示:

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

上述方法对于单页表单非常有效,但对于多步骤表单不起作用

原因我认为是当点击表单最后一步的提交按钮时,提交按钮无法访问之前表单步骤/页面中的用户输入。服务器/API需要POST请求中的所有用户输入,因此它会被拒绝

所以我的问题是如何使用

我已经尝试过通过$http POST函数发布表单,但这不允许我使用passport.js在服务器端重定向用户。你可以在我的网站上看到这个问题的细节


任何帮助都将不胜感激。

此逻辑完全错误,如果您想在UI中使用多步骤表单,则不应使用路由,因为一个移动到下一个表单(下一个url),旧表单将从DOM中删除,因此您无法保留已键入的值

在这种情况下,您可以简单地使用ng if/ng show/ng hide方法继续下一步


祝你一切顺利。。。!!!如果您愿意,请投票此逻辑完全错误,如果您想在UI中使用多步骤表单,则不应使用路由,因为一次移动到下一个表单(下一个url),旧表单将从DOM中删除,因此您无法保留已键入的值

在这种情况下,您可以简单地使用ng if/ng show/ng hide方法继续下一步


祝你一切顺利。。。!!!如果您愿意,请投票

您如何存储表单的数据?您可以更新模型并将其保存在localStorage或其他地方,然后在提交时检索它。然后删除存储:)@SatejS您的意思是在提交之前存储在后端还是前端?@Alok谢谢您的评论。这是一个安全方面的好方法吗?提交前的前端,我要问的原因是,表单是否为每个步骤推送数据,等等。您如何为表单存储数据?您可以更新模型并将其保存在localStorage或其他内容中,然后在提交时检索它。然后删除存储:)@SatejS您的意思是在提交之前存储在后端还是前端?@Alok谢谢您的评论。这是一个安全方面的好方法吗?提交前的前端,我问的原因是,表单是否为每个步骤推送数据,等等。@Kamal Raj我不同意,我认为使用路由是实现多步骤表单的一个好方法。它允许用户在
ui视图中插入视图。看到这个链接之前由Satej共享的这个路由器主要是相关的编译过程,这将在得到ajax调用后解析整个html。然后它会附加,当您每次删除和更新DOM时,我们不能保留旧的DOM。。。或者,如果强制执行路由,则必须编写类似“ui路由”的指令。在这种情况下,您也可以使用下面的示例:@Kamal Raj我不同意,我认为使用路由是实现多步骤表单的一种好方法。它允许用户在
ui视图中插入视图。看到这个链接之前由Satej共享的这个路由器主要是相关的编译过程,这将在得到ajax调用后解析整个html。然后它会附加,当您每次删除和更新DOM时,我们不能保留旧的DOM。。。或者,如果强制执行路由,则必须编写类似“ui路由”的指令。在这种情况下,您也可以使用以下示例: