【问题标题】:form submission in angularjs ui-routerangularjs ui-router中的表单提交
【发布时间】:2013-09-18 15:38:35
【问题描述】:

我正在使用 angular-ui-router。提交表单时,我想激活 ui-routing,它是用 ui-sref= "url" 定义的 Angularjs 中没有 action 元素,所以我使用的是 ng-submit 元素。

我如何/在哪里定义 ui-sref 网址?

form 通常具有以下代码。但是下面的 'url' 不是通过 ui-router 路由的。

form(name="LNquestionForm", action="/url")

我想做类似的事情

form(name="LNquestionForm", ng-submit='ui-sref = "url" ')

这样通过 myAngularApp.js 进行路由:-

var myApp = angular.module('myApp', ['ui.router']);

myApp.config(function($stateProvider, $urlRouterProvider) {

  // Now set up the states
  $stateProvider
    .state('/url', {
      url: "/url",
       templateUrl: "partials/someLink" }

    })

【问题讨论】:

    标签: angularjs angular-ui-router


    【解决方案1】:

    不太确定我的问题是否正确,但据我了解,您希望提交表单并在没有任何服务器调用的情况下重定向到 $statePorivider 的给定状态。如果是这种情况,您可以轻松地做这样的事情:

    <form ng-submit="onFormSubmit" name="myForm">
      <input type="text" required/>
      ....
    </form>
    

    在与您的表单关联的控制器中,您应该这样做:

    $scope.onFormSubmit = function () {
      if(myForm.$valid) {
        $state.href('/url' [, optional parameters if needed]);
      }
    }
    

    要注意 onFormSubmit 函数的工作,您需要在控制器中注入状态服务或在应用程序控制器中引用它。

    还请注意,我在示例中添加了一些表单验证。

    【讨论】:

      猜你喜欢
      • 2015-04-18
      • 2016-07-29
      • 2016-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-27
      相关资源
      最近更新 更多