使用$ location.path(path)更改位置; ng-submit表格

时间:2015-10-22 11:46:13

标签: javascript angularjs

我的形式:

<form name="myForm" ng-submit="save(myObject)">
...
<button type="submit" class="btn btn-primary" ng-click="changeLocation('/railway-connection')">Save </button>
</form>

如你所见,我想做两件事。提交表单后,应该调用save()函数并保存数据,它也应该更改位置。

 $scope.save= function (myboject) {
    $scope.saveObj = angular.copy(myboject);

    console.log($scope.saveObj);
};

$scope.changeLocation(path){
    $location.path(path);
};

但它不起作用。如果我单击按钮它会保存数据并输入方法changeLocation()但它不会更改位置。

如果我删除了ng-click并将 $ location.path('/ next')放在函数save()(submit-form函数)中,它就可以了。 但我想用ng-click。

怎么可能?

1 个答案:

答案 0 :(得分:0)

您不必同时使用ng-submit和ng-click。正如它在ng-submit文档中所说:

小心不要同时使用ngClick和ngSubmit处理程序导致“双重提交”。

使用ng-click调用控制器中的保存功能。

<form name="myForm">
    <button type="submit" class="btn btn-primary" ng-click="save(myobject)">Save</button>
</form>

并在保存功能中更改保存对象后的位置路径。

$scope.save= function (myboject) {
   $scope.saveObj = angular.copy(myboject);
   console.log($scope.saveObj);

   $location.path('/next');
};