Angular表单不会提交

Angular form doesn't submit

本文关键字:提交 表单 Angular      更新时间:2023-09-26

我有这个角脚本

var app = angular.module('j_app', ['ngMaterial'], function($interpolateProvider)    {
    $interpolateProvider.startSymbol('<%');
    $interpolateProvider.endSymbol('%>');
});
app.controller('j_controller', function($scope, $http) {
  $scope.formdata = {};
  $scope.formsubmit = function(){
    $http({
       method : 'POST',
       url : '/dodong',
       data : $.param($scope.formdata),
       headers : {'Content-Type' : 'application/x-www-form-urlencoded'}
    }).success(function(data){
       console.log(data); 
    });
  };
});

和这个角形

<body ng-app="j_app">
<div ng-controller="j_controller">
<form ng-submit="formsubmit()">
    <fieldset>
        <input type="text" name="username" ng-model="formdata.username" placeholder="Your username here..." />
        <input type="password" name="password" ng-model="formdata.password" placeholder="Your password here..." />
    </fieldset>
    <button>Submit test angular</button>
</form>
</div>
</body>

但是表单没有提交,就像什么都没发生一样,也没有抛出错误。什么好主意吗?

如果你在Plunker中输入这个,它会工作:

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js"></script>
</head>
<body ng-app="submitTest">
  <script>
    angular.module('submitTest', [])
      .controller('j_controller', ['$scope', function($scope) {
        $scope.text = 'type something, will ya';
        $scope.formsubmit = function() {
          alert("Called");
        };
      }]);
  </script>
  <div ng-controller="j_controller">
    <form ng-submit="formsubmit()">
      <fieldset>
        <input type="text" ng-model="text" name="text" />
      </fieldset>
      <input type="submit" id="submit" value="Submit" /> </form>
  </div>
</body>
</html>

您需要使用<input type="submit">

我猜这个线程应该被删除,因为ngModel在Angular的V6中已经被弃用了。将在V7中完全删除