Угловая форма размещения не работает

0

Я не специалист в этой области, я просто стажер, который хочет это узнать.

Вот мой index.html:

<div>
  <div id="grid1" ui-grid="gridOptions" ui-grid-pinning ui-grid-edit ui-grid-exporter ui-grid-selection class="grid"></div>
    <div>
    <form name="itemForm" ng-submit="addItem()">
        <br>
        <fieldset>
        <legend>New Proto:</legend>
        <br>
        ProtoID:<br>
        <input ng-model="item.protoid"/><br>
        <br>
        Name:<br>
        <input ng-model="item.name"/><br>
        <br>
        Model:<br>
        <input ng-model="item.model"/><br>
        <br>
        HW:<br>
        <input ng-model="item.hw"/><br>
        <br>
        RF Version:<br>
        <input ng-model="item.rfversion"/><br>
        <br>
        WNC Version:<br>
        <input ng-model="item.wncversion"/><br>
        <br>
        Serial:<br>
        <input ng-model="item.serial"/><br>
        <br>
        IMEI1:<br>
        <input ng-model="item.imei1"/><br>
        <br>
        IMEI2:<br>
        <input ng-model="item.imei2"/><br>
        <br>
        Received:<br>
        <input ng-model="item.received"/><br>
        <br>
        Returned:<br>
        <input ng-model="item.returned"/><br>
        <br>
        Notes:<br>
        <input ng-model="item.notes"/><br>
        <br>
        <!--SBands:<br>
        <input type="text" ng-model="sbands"><br>
        <br>
        RefDev:<br>
        <input type="text" ng-model="refdev"><br>
        <br>-->
        <input type="submit" value="Add"/>
        <!--<input type="button" ng-click='addNewItem()' value="addNewItem">
        <input type="submit" ng-click='save()' value="Save">-->
        </fieldset>
    </form>
    </div>




</div>

и вот моя угловая часть:

'use strict';

angular.module('OpenTMIControllers')
  .controller('ResourcesController', ['$scope', 'Resource', '$stateParams', '$log', '$http',
    function($scope, Resource, $stateParams, $log, $http) {

      $log.info('init ResourcesController')

      var updateTable = function(q) {
        var q = q || {};
        Resource.query({
          q: JSON.stringify(q)
        }, function(resources) {
          console.log(resources);
          $scope.dataResources = resources;
        });
      }
      $scope.columns = [{
          field: 'protoid',
          width: 150,
          enableCellEdit: false,
          displayName: 'ProtoID',
          visible: true
        }, {
          field: 'name',
          width: 150,
          enableCellEdit: false,
          displayName: 'Name',
          visible: true
        }, {
          field: 'model',
          width: 150,
          enableCellEdit: false,
          displayName: 'Model',
          visible: true
        }, {
          field: 'hw',
          width: 100,
          enableCellEdit: false,
          displayName: 'HW',
          visible: true
        }, {
          field: 'rfversion',
          width: 100,
          enableCellEdit: false,
          displayName: 'RF',
          visible: false
        }, {
          field: 'wncversion',
          width: 100,
          enableCellEdit: false,
          displayName: 'WNC',
          visible: false
        }, {
          field: 'serial',
          width: 200,
          enableCellEdit: false,
          displayName: 'Serial',
          visible: true
        }, {
          field: 'imei1',
          width: 140,
          enableCellEdit: false,
          displayName: 'IMEI1',
          visible: false
        }, {
          field: 'imei2',
          width: 140,
          enableCellEdit: false,
          displayName: 'IMEI2',
          visible: true
        }, {
          field: 'received',
          width: 140,
          enableCellEdit: false,
          displayName: 'Received',
          visible: true
        }, {
          field: 'returned',
          width: 140,
          enableCellEdit: false,
          displayName: 'Returned',
          visible: true
        }, {
          field: 'notes',
          width: 200,
          enableCellEdit: true,
          displayName: 'Notes',
          visible: true
        }, {
          field: 'sbands',
          width: 150,
          enableCellEdit: false,
          displayName: 'Supported bands',
          visible: false
        }, {
          field: 'refdev',
          width: 200,
          enableCellEdit: false,
          displayName: 'Reference',
          visible: false
        },

      ]

      $scope.gridOptions = {
        columnDefs: $scope.columns,
        enableColumnResizing: true,
        enableFiltering: true,
        //enableRowSelection: true,
        enableFullRowSelection: true,
        multiSelect: false,
        showFooter: true,
        exporterMenuCsv: true,
        enableGridMenu: true,
        data: 'dataResources',
        onRegisterApi: function(gridApi) {
          //set gridApi on scope
          $scope.gridApi = gridApi;
        }
      }

      $scope.item = {
        protoid: '',
        name: '',
        model: '',
        hw: '',
        rfversion: '',
        wncversion: '',
        serial: '',
        imei1: '',
        imei2: '',
        received: '',
        returned: '',
        notes: '',
      };
      $scope.addItem = function() {

        $scope.dataResources.push({

        });


        $http({
            method: 'POST',
            url: '/api/v0/resources/:Resource.:format?',
            data: $scope.item,
            header: {
              'Content-type': 'application/x-www-form-urlencoded'
            }
          })
          .success(function(data) {

          });

      }

      updateTable();
    }
  ]);

Этот код должен добавить все данные, заполненные в форме, и опубликовать их и сохранить, но когда я нажму кнопку отправки, он добавит только одну пустую строку, которую она не сохранит.

  • 0
    Попробуйте console.log ($ scope.item) в функции addItem () и посмотрите, что вы получаете?
  • 0
    также попробуйте использовать класс formdata, он всегда работает для меня
Показать ещё 2 комментария
Теги:
post

1 ответ

0

попробуйте этот код, он работает для меня. Также убедитесь, что html находится в правильном контроллере

$scope.item = {
        protoid: '',
        name: '',
        model: '',
        hw: '',
        rfversion: '',
        wncversion: '',
        serial: '',
        imei1: '',
        imei2: '',
        received: '',
        returned: '',
        notes: '',
      };


                var form_data = new FormData();
                form_data.append("post_form","post_form");

                form_data.append("proto_id",$scope.item.protoid);
                form_data.append("name",$scope.item.name);
                form_data.append("model",$scope.item.model);
                form_data.append("hw",$scope.item.hw);
                form_data.append("rfversion",$scope.item.rfversion);
                form_data.append("wncversion",$scope.item.wncversion);
                form_data.append("serial",$scope.item.serial);
                form_data.append("imei1",$scope.item.imei1);
                form_data.append("imei2",$scope.item.imei2);
                form_data.append("received",$scope.item.received);
                form_data.append("returned",$scope.item.returned);
                form_data.append("notes",$scope.item.notes);


                $.ajax({
                url: "/api/v0/resources/:Resource.:format?",
                type: "POST",
                data: form_data,
                processData: false,
                contentType: false,
                success: function(response) {


                },
                error: function(jqXHR, textStatus, errorMessage) {

                }
               });

Ещё вопросы

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