javascript - Angular ui-router 提交表单并重定向页面

标签 javascript html angularjs forms angular-ui-router

问题已根据用户 MarkWatson 和 sdfacre 的贡献进行了更新

单击按钮后,我想提交表单并在不同的页面上显示结果。但是,我的代码不起作用。

我正在使用 ui-router 来更改状态:

$stateProvider.state('first', {
    url: '/first',
    templateUrl: '/first.html',
    controller: 'MainCtrl',
}).state('second', {
    url: '/second',
    templateUrl: '/second.html',
    controller: 'MainCtrl',
}) 

请注意,我已经将状态注入(inject)到我的 Controller 中。这里我还将状态注入(inject)到我的提交函数中:

$scope.submitForm = function() { 
    server.submitForm($scope.input1, $scope.input2)
    .success(function(data) {
        $scope.results = data;
        $state.go('second');
    }).error(function(err) {
        console.log(err);
    });    
};

HTML 表单:

<form name = "myform" ng-submit = "submitForm()">
    ...

    <button type = "submit" ng-click="validationFunction()" class="btn btn-default">Submit and go to another page</button>
</form>

我不想将“$state.go('second'); ”放入validationFunction中,因为我只希望在提交表单时发生重定向,而不是在验证表单时发生。

目前,数据未按预期显示在第二页上。

最佳答案

从 $scope.submitForm = function($state) 中删除 $state;

这不是注入(inject),它只是覆盖 $state 变量。

关于javascript - Angular ui-router 提交表单并重定向页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36491838/

相关文章:

javascript - react native ListView scrollToEnd 它不起作用

javascript - 使用 Javascript 以 html 形式更改 URL

html - Uncaught ReferenceError : $ is not defined (For the Scrollspy effect)

javascript - 图表 JS 错误 : Chart is not defined Firefox

javascript - AngularJS 通过文本设置选定选项

javascript - 显示 8 字符密码格式中的 3 个文本字符

javascript - $.getJSON() 调用抛出错误

javascript - 控制选择表单上的选项数量

html - 缩小时页面结构中断

javascript - 在 ng-options 中将 C# dateTime 格式化为 AngularJS 日期