2016-08-19 178 views
0

我做了一個非常簡單的形式是這樣的:AngularJS防止形式所需提交

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="utf-8"> 
     <script src="/assets/libs/angular/angular.js" charset="utf-8"></script> 
    </head> 
    <body ng-app="app" ng-controller="myCtrl"> 
     <form method="post"> 
      <input type="text" name="name" value="asas"> 
      <input type="submit" name="name" value="Submit"> 
     </form> 

     <script type="text/javascript"> 
      angular.module('app', []).controller('myCtrl', [function(){ 

      }]); 
     </script> 
    </body> 
</html> 

我還沒有經歷過這種類型的問題,但現在當我按下提交按鈕,角防止形成是提交。

我試圖添加novalidate屬性來形成,但直到沒有機會。
也嘗試使用ng-submit手動提交表單,但它不起作用。

我使用AngularJS v1.5.8

+0

你要把它提交給哪裏?你在ng-submit函數中做了什麼? – Aron

+2

將動作添加到您的表單中。但通常,角度應用程序中的表單不會在傳統的web 1.0中提交,也就是說它的含義。它們通過調用控制器的方法來提交,通常會發出AJAX請求。 –

+0

@Aron我想要一個非常簡單的方式。推送提交按鈕,它不工作。 – Omid

回答

1

你的表單需要有一個目標,以提交表單。例如,在動作屬性中,如下所示:

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="utf-8"> 
     <script src="/assets/libs/angular/angular.js" charset="utf-8"></script> 
    </head> 
    <body ng-app="app" ng-controller="myCtrl"> 
     <form method="post" action="/form-destination"> 
      <input type="text" name="name" value="asas"> 
      <input type="submit" name="name" value="Submit"> 
     </form> 
    </body> 
</html> 

沒有目標提交到表單不會工作。

0

你應該把一個提交功能控制器告訴角度應該採取什麼樣的行動。並在表格中添加一個ng-submit以使該功能具有留置權。所以當你點擊提交按鈕時,ng-submit中的函數將被調用。

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <script src="/assets/libs/angular/angular.js" charset="utf-8"> </script> 
</head> 
<body ng-app="app" ng-controller="myCtrl"> 
    <form ng-submit="submit()"> 
     <input type="text" name="name" value="asas"> 
     <input type="submit" name="name" value="Submit"> 
    </form> 

    <script type="text/javascript"> 
     angular.module('app', []).controller('myCtrl', ['$scope', function($scope){ 
      $scope.submit = function(){ 
       // your submit process 
      } 
     }]); 
    </script> 
</body>