javascript - 提交表单到文件angularjs

标签 javascript angularjs json forms

我正在尝试创建一个用于创建订单的动态表单。通过添加按钮,它会附加一个输入表单,以便您可以在必要时为每个订单添加更多产品。

现在我想将表单数据解析为 JSON 文件,但我该怎么做呢?

我尝试过使用 field.productfield.amount 作为 ng-models 但它不起作用,因为当我在一行中输入一个产品,相同的文本也在所有其他行中。

<form>
      <div class="form">
        <table>
            <tr ng-repeat="content in rows">
              <td>
                <input class="product" ng-model="field.product" placeholder="{{content.product}}" type="text">
              </td>
              <td>
                <input ng-model="field.amount" type="number" min="0" value="1" type="text">
              </td>
              <td>
                <button class="btn btn-primary btn-functionality btn-danger btn-del" ng-click="delRow($index)">x</input>
              </td>
            </tr>
        </table>

        <button class="btn btn-primary btn-success btn-add" ng-click="addRow()">+</button>
      </div>
      <div class="main-buttons">
        <button class="btn btn-primary btn-lg btn-create" ng-click="createOrder()">Create</button>
        <button class="btn btn-primary btn-lg" ng-click="cancelOrder()">Cancel</button>
      </div>
    </form>




  <div style="text-align: center; font-size: 20px; border: 2px solid red; margin: 20px" ng-repeat="order in orders.data track by $index">
    <div ng-repeat="product in order">
      {{product.product}}
      {{product.amount}}
    </div>

  </div>

Controller :

'use strict';

angular.module('myApp.orderNew', ['ngRoute'])

.config(['$routeProvider', function($routeProvider) {
  $routeProvider.when('/order/new', {
    templateUrl: 'order-new/order-new.template.html',
    controller: 'OrderNewCtrl'
  });
}])

.controller('OrderNewCtrl', function($scope, $location, $http) {

  $scope.field = {
    amount: '1'
  };

  $scope.rows = [{
    product: 'Product',
    amount: 'Amount'
  }];
  $scope.counter = 1;

  $scope.addRow = function() {
    $scope.rows.push({
      product: 'Product',
      amount: 'Amount'
    });
    $scope.counter++;
  }

  $scope.delRow = function(row) {
    if ($scope.rows.length < 2) { return; }

    $scope.rows.splice(row, 1);
  }

  $scope.cancelOrder = function() {
    $location.path('/orders');
  }

  $scope.createOrder = function() {
    var data = $scope.fields;
    alert(data);
    //$post('/path_to_server', obj);
  }

  $http.get('orders.json').then(function(data) {
    $scope.orders = data;
  });

});

最佳答案

我不是很清楚你在问什么,但听起来你希望你的模型对于 ng-repeat 中的每个重复项都是唯一的。如果是这种情况,我会将 ng-model 设置为 ng-model="field.product[$index]"ng-model="field.amount[$index]”

关于javascript - 提交表单到文件angularjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43216247/

相关文章:

javascript - 从 JSON 文件中对单词进行 Angular 动态搜索

angularjs - Angular 和混合 jQuery UI - 为什么不呢?

jquery - 格式错误的 Rails JSON 和 jQuery

javascript - importJSON 在我不在的时候从服务器返回错误代码 429(限速)

javascript - 返回未定义的 Angular 服务不是函数

javascript:函数作用域

javascript - 网络图表节点关系节点合并->highcharts

javascript - 有没有办法创建一个循环,仅在输入特定字符串时才停止?

javascript - 如何在angularjs MEANSTACK-editable-select中实现级联?

javascript - 如何操作文本使其成为 JSON?