Angular.js ng-submit被触发两次,并且没有获取到表单的值。

17 浏览
0 Comments

Angular.js ng-submit被触发两次,并且没有获取到表单的值。

我在angularjs中有一个表单

问题是ng-submit触发了两次,而且noteData.title即使有值也不会读取任何值。

我得到了这个错误

无法读取未定义的属性“title”

我检查了这个问题,但我的代码没有包含两次angular,如果有的话,我该如何检查它?

$scope.addNewNote=function(noteData){
    alert(noteData.title);
}

index.html链接

    
    
    
    
    
    
    
    
    
    
    

更新

app.js文件

.state('app.addnote', {
                url: "/addnote",
                cache: false,
                views: {
                    'menuContent': {
                        templateUrl: "templates/note/html/note-add.html",
                        controller: 'AddNotesCtrl'
                    }
                }
            })
            .state('app.notelist', {
                url: "/notelist",
                params:{
                    isAnimated:true
                },
                cache: false,
                views: {
                    'menuContent': {
                        templateUrl: "templates/application-storage/local-application-db/html/note-list.html",
                        controller: 'noteListCtrl'
                    }
                }
            }

)

Controller.js

  var appControllers = angular.module('starter.controllers', []); // 用于应用程序的所有控制器。
    var appServices = angular.module('starter.services', []);// 用于应用程序的所有服务。
appControllers.controller('AddNotesCtrl',function($scope,$rootScope,$state,$mdToast){
}

0
0 Comments

Angular.js ng-submit fired twice and didn't get the values from form

最近在使用Angular.js时遇到了一个奇怪的问题,ng-submit事件触发了两次,并且没有获取到表单的值。经过排查,我发现可能是在代码中重复声明了函数或者控制器,例如在html和路由中都声明了控制器等。但是对于第二个问题,即没有获取到表单的值,我发现可能是没有在控制器中声明变量noteData导致的。如果在控制器中声明了该变量,并且按照以下方式捕获提交事件,就可以打印出表单的值:

$scope.noteData = [];
$scope.addNewNote = function(noteData) {
  console.log('form submitted');
  console.log(noteData);
};

编辑:

请参考这个帖子中关于表单提交两次的问题。你提供的代码中并没有出现重复提交的问题,所以可能是其他地方引起了这个问题。

谢谢,现在可以读取表单数据了,但是函数执行了两次。

你是否尝试过检查html中是否重复声明了控制器,或者在路由提供者中声明了控制器?或者你能否更新你的问题,提供更多的代码,比如更多的html代码和app.js代码?

我在我的回答中添加了一个有用的链接,关于你第一个问题的表单重复提交的问题。看看这些答案是否有帮助。

我更新了我的问题。

0