Foros del Web » Programando para Internet » Javascript » Frameworks JS »

AngularJs Error al guardar un formulario

Estas en el tema de AngularJs Error al guardar un formulario en el foro de Frameworks JS en Foros del Web. Que tal, vengo pidiendo su ayuda estoy iniciando a programar en AngularJS y por más que le he buscado al error no doy con el ...
  #1 (permalink)  
Antiguo 16/05/2016, 20:37
 
Fecha de Ingreso: mayo-2016
Mensajes: 4
Antigüedad: 8 años, 7 meses
Puntos: 0
Pregunta AngularJs Error al guardar un formulario

Que tal, vengo pidiendo su ayuda estoy iniciando a programar en AngularJS y por más que le he buscado al error no doy con el y que mejor venir a este foro. Estoy utilizando Angular en la versión 1.5.5 y lo que estoy haciendo es agregar un campo nuevo a una tabla con UI-GRID.

Este es miembros.js

Código Javascript:
Ver original
  1. angular.module('prototipoApp')
  2. .controller('MiembrosCtrl', function($scope, $modal) {
  3.     $scope.myData = [{no: 1, nombre: "Sergio",fidelidad:3, fechaUnion:"03/10/2016", tipoMiembro:"Premium"},
  4.                      {no: 2, nombre: "nombre5",fidelidad:5, fechaUnion:"02/11/2016", tipoMiembro:"Free"},
  5.                      {no: 3, nombre: "nombre4",fidelidad:7, fechaUnion:"08/05/2016", tipoMiembro:"Platinium"},
  6.                      {no: 4, nombre: "nombre3",fidelidad:9, fechaUnion:"01/09/2016", tipoMiembro:"Free"},
  7.                      {no: 5, nombre: "nombre2",fidelidad:11, fechaUnion:"04/04/2016", tipoMiembro:"Premium"},
  8.                      {no: 6, nombre: "nombre1",fidelidad:13, fechaUnion:"3/10/2016", tipoMiembro:"Platinium"}];
  9.     $scope.gridOptions = {
  10.         data: 'myData',
  11.         showGroupPanel: true,
  12.         enableCellSelection: true,
  13.         enableRowSelection: true,
  14.         enableCellEdit: true,
  15.         enableSorting: true,
  16.         enableFullRowSelection: true,
  17.         multiSelect: true,
  18.         enableRowHeaderSelection: false,
  19.         enableColumnMenus: false,
  20.         enableFiltering: true,
  21.         minRowsToShow: $scope.myData.length+1,
  22.             columnDefs:[
  23.             {field:'no', displayName:'N°.'},
  24.             {field:'nombre', displayName:'Nombre'},
  25.             {field:'fidelidad', displayName:'Puntos Fidelidad'},
  26.             {field:'fechaUnion', displayName:'Fecha de Union'},
  27.             {field:'tipoMiembro', displayName:'Tipo de Miembro'}]
  28.     };
  29.     $scope.gridOptions.data =  $scope.myData;
  30.     //Abrir ventana para guardar dato-miembro
  31.     $scope.showModal=function(){
  32.       $scope.nuevoMiembro={};
  33.         var modalInstance=$modal.open({
  34.           templateUrl: 'views/add-miembros.html',
  35.           controller:'AddNuevoMiembroCtrl',
  36.             resolve:{
  37.               nuevoMiembro:function(){
  38.                 return $scope.nuevoMiembro;
  39.               }
  40.             }
  41.  
  42.         });
  43.         modalInstance.result.then(function(selectedItem){
  44.           $scope,miembros.push({
  45.             no: $scope.miembros.length+1,
  46.             nombre: $scope.nuevoMiembro.nombre,
  47.             tipoMiembro: $scope.nuevoMiembro.tipoMiembro,
  48.             fidelidad: $scope.nuevoMiembro.fidelidad,
  49.             fechaUnion: $scope.nuevoMiembro.fechaUnion
  50.           });
  51.         });
  52.       };
  53. })
  54. .controller('AddNuevoMiembroCtrl', function($scope,$modalInstance, nuevoMiembro){
  55.   $scope.nuevoMiembro=nuevoMiembro;
  56.   $scope.salvarNuevoMiembro=function(){
  57.     $modalInstance.close(nuevoMiembro);
  58.   };
  59.   $scope.cancel=function(){
  60.     $modalInstance.dismiss('cancel'); //Cerar la ventana
  61.   };
  62. });

Esta es la venta que abre el formulario:
Código HTML:
Ver original
  1. <div class="modal-header">
  2.     <button type="button" class="close" ng-click="cancel()" data-dismiss="modal" aria-hidden="true">&times;</button>
  3.     <h1>Añadir un Miembro</h1>
  4. </div>
  5.  
  6. <div class="modal-body">
  7.     <label>Nombre</label><input type="text" ng-model="nuevoMiembro.nombre">
  8.     <label>Tipo Miembro</label><input type="text" ng-model="nuevoMiembro.tipoMiembro">
  9.     <label>Puntos Fidelidad</label><input type="number" ng-model="nuevoMiembro.fidelidad">
  10.     <label>Fecha de Union</label><input type="date" ng-model="nuevoMiembro.fechaUnion">
  11.     <br/>
  12.     <button class="btn btn-success" ng-click="salvarNuevoMiembro()">Guardar Miembro</button>
  13. </div>

El error que me sale es el siguiente:
angular.js:13550 ReferenceError: miembros is not defined
at miembros.js:75
at processQueue (angular.js:15961)
at angular.js:15977
at Scope.$eval (angular.js:17229)
at Scope.$digest (angular.js:17045)
at Scope.$apply (angular.js:17337)
at HTMLButtonElement.<anonymous> (angular.js:25023)
at HTMLButtonElement.jQuery.event.dispatch (jquery.js:4737)
at HTMLButtonElement.elemData.handle (jquery.js:4549)

El error dice que Miembros no esta definido, esto sucede cuando le doy clic al boton de guardar. Ya he ido linea por linea pero al parecer yo lo veo bien. Les agradezco su tiempo.
  #2 (permalink)  
Antiguo 16/05/2016, 20:42
 
Fecha de Ingreso: mayo-2016
Mensajes: 4
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: AngularJs Error al guardar un formulario

Ya encontré ese error :

Código Javascript:
Ver original
  1. $scope,miembros.push({

Tenía mal, en vez de coma era punto...

Pero ahora me sale el siguiente error:

TypeError: $scope.miembros.push is not a function
at miembros.js:75
at processQueue (angular.js:15961)
at angular.js:15977
at Scope.$eval (angular.js:17229)
at Scope.$digest (angular.js:17045)
at Scope.$apply (angular.js:17337)
at HTMLButtonElement.<anonymous> (angular.js:25023)
at HTMLButtonElement.jQuery.event.dispatch (jquery.js:4737)
at HTMLButtonElement.elemData.handle (jquery.js:4549)

Etiquetas: formulario, html, input, javascript, js
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:03.