程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

angularjs - 控制器不调用表单提交

发布于2022-12-07 03:31     阅读(285)     评论(0)     点赞(3)     收藏(1)


我是 AngularJS 的新手,我正在尝试使用下面的示例代码将我的表单提交到服务器。

<!doctype html>
<html lang=''>
<head>
  <meta charset="utf-8">
  <script src="../js/angular.min.v1.5.5.js"></script>
   <script>
        var app = angular.module('myApp', []);
        app.controller('myController', ['$location', function($scope, $location) {
        console.log(" controller invoked ** ");
        $scope.submit = function(emp) {
        var isvalid = true;
        if (isvalid) {
            $http.put('/addEmployee', {}).then(function(result) {
                $location.path(result.data);
            });
            return true;
        }
        return false;
      }
    }]);
</script>    
</head>
<body ng-app="myApp"  ng-controller="myController">

<form name="form1"  ng-submit="form1.submit(emp)">
  <input type="text" ng-model="emp.name" />
  <div align='center'>
         <input  type="submit" value="Submit" />
  </div>

</form>
</body>

</html>

我已经开始调试这个问题,我注意到在表单加载期间打印了一次“controller invoked **”,但在表单提交之后没有打印。

您能否建议提交表格所需的更改?

谢谢你。


解决方案


Form 对象没有submit方法,因为它在 中可用$scope,您需要直接调用它。不要执行form1.submit(emp)指令ng-submit,而是将其更改为以下内容。

ng-submit="submit(emp)"

另外纠正控制器 DI 阵列中的错误

app.controller('myController', ['$location', 
   function($scope, $location) {

应该

app.controller('myController', ['$scope', '$location',  //<-- added missing $scope dependency here
   function($scope, $location) {

将数据传递给 put 方法的第二个参数,当前您传递的是{}空白对象,只需将其更改为emp即可

$http.put('/addEmployee', emp).then(function(result) {
   $location.path(result.data);
});



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.qianduanheidong.com/blog/article/461998/f239b899a380d1fec7c9/

来源:前端黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

3 0
收藏该文
已收藏

评论内容:(最多支持255个字符)