在单页面网络应用中一次仅显示特定表单

时间:2016-03-30 07:08:40

标签: javascript html angularjs forms

我有一个包含多个表单的单页Web应用程序。 取决于用户在两个按钮之间点击的内容(“下一步”或“上一步”),我想显示不同的步骤。假设我看到与步骤1对应的表单。如果单击“下一步”按钮,我想查看与步骤2对应的表单。

我有index.html代码如下:

<form name="form" novalidate ng-submit="submitStep1()" ng-show="step == 1">
  //multiple inputs
</form>

<form name="form" novalidate ng-show="step == 2">
  //multiple inputs
</form>

submitStep1函数如下:

  $scope.submitStep1 = function () {
    if ($scope.form.$valid) {
      $scope.step = 2;
    }
  };

每当点击提交按钮时,我会增加步骤编号。问题是我正在尝试添加2个按钮,如上所述,所以我可以增加或减少步数。但是,似乎ng-submit只能采用一个函数(意味着即使我添加了2个按钮,也只会触发一个函数)。对此有什么解决方法?

2 个答案:

答案 0 :(得分:1)

如果您有2个按钮,则每个按钮必须具有不同的功能

apply

在你的html中,将这些函数绑定到每个函数

apply

答案 1 :(得分:0)

您可以在表单标记的末尾创建下一个按钮

<form name="form" novalidate ng-submit="submitStep1()" ng-show="step == 1">
   //multiple inputs
</form>

<form name="form" novalidate ng-show="step == 2">
    //multiple inputs
</form>
<input type="button" ng-click="movenext()"/>
<input type="button" ng-click="moveprevious()"/> 

处理此按钮中的表单代码之间的切换,并为每个表单分配不同的表单名称