Angular.js ng-submit сработал дважды и не получил значения из формы

0

У меня есть форма в angularjs

<form ng-submit="addNewNote(noteData)">
        <button type="submit"  class="md-icon-button ion-nav-button-right md-button md-default-theme" aria-label="Setting" tabindex="0">
            {{noteTxt}}
        </button> 
 <ion-content>
<div id="note-detail-content">
                <md-input-container md-no-float>
                    <input required name="noteTitle" placeholder="Note Title (Required)" ng-model="noteData.title">
                </md-input-container>
                <textarea rows="7" ng-model="noteData.description" maxlength="250"
                          placeholder="Write something here ...."></textarea>
                <span>
                </span>
            </div><!--end content section-->
        </ion-content>
    <!--end note detail section-->
      </form>

Проблема заключается в том, что ng-submit запускается два раза, также noteData.title не читает никакого значения, даже если присутствует значение. Я получаю эту ошибку

Cannot read property 'title' of undefined

Я проверил этот вопрос, но мой код не включает угловой дважды, если это так, как я могу проверить его?

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

index.html ссылки

    <!-- Ionic javascript lib -->
    <script src="lib/ionic/js/ionic.bundle.js"></script>
    <!-- end Ionic javascript lib -->

    <!-- Angular javascript lib -->
    <script src="lib/angular-messages.js"></script>
    <script src="lib/angular-aria.js"></script>
    <script src="lib/angular-material.js"></script>
    <!-- end Angular javascript lib -->

    <!-- Cordova script (this will be a 404 during development) -->
    <script src="lib/ng-cordova.js"></script>
    <script src="cordova.js"></script>

Файл UPDATE 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', []); // Use for all controller of application.
    var appServices = angular.module('starter.services', []);// Use for all service of application.

appControllers.controller('AddNotesCtrl',function($scope,$rootScope,$state,$mdToast){


}
  • 0
    где вы открываете </ ion-content>?
  • 0
    Прямо перед этим <div id="note-detail-content">
Показать ещё 2 комментария
Теги:
ionic-framework

1 ответ

1

Я не знаю, почему он дважды срабатывал/отправлялся дважды (вы уверены, что нет деклараций о двойной функции или объявлении контроллера дважды, например, в html и маршрутах и т.д.?). Это не для меня, но для второй проблемы, что он не передает данные. Вы объявили переменную noteData любом месте вашего контроллера? Если вы установите его в своем контроллере, а затем поймаете функцию отправки, как показано ниже, тогда будут показаны данные:

$scope.noteData = [];

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

РЕДАКТИРОВАТЬ:

Пожалуйста, проверьте этот пост на SO, чтобы проблема была отправлена дважды. Ваша проблема не дублирует код, который вы указали в своем вопросе, поэтому у вас должно быть что-то еще, что вызывает эту проблему.

  • 0
    Благодаря одной проблеме решена, теперь данные формы могут читать, но функция выполняется дважды
  • 1
    Вы пытались узнать, объявили ли вы свой контроллер как в HTML, так и в routeprovider? Или вы могли бы обновить свой вопрос с большим количеством кода? Нравится больше HTML и, возможно, app.js?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню