2017-01-22 6 views
0

私は金融資管理システムと呼ばれるプロジェクトに取り組んでいます。私は顧客の装飾のリストを挿入したい、挿入はhttp.post()を使用して行います。複数の飾りを挿入したいので、forループを使用しました。データベースに値を挿入できますが、次のエラーメッセージが表示されます。

Ornament insertion

index.htmlを

<form class="form-inline form-group"> 
    <fieldset data-ng-repeat="choice in choices"> 
     <div class="col-xs-3"> 
     <div class="form-group"> 
      <select class="form-control" id="optioin1" ng- model="choice.option1" > 
       <option value="Ring" >Ring</option> 
       <option value="Earings" >Earings</option> 
       <option value="Chains">Chains</option> 
       <option value="Necklaces">Necklaces</option> 
       <option value="Bangles">Bangles</option> 
      </select> 
     </div> 
     {{choice.option1}} 
     </div> 
     <div class="col-xs-4"> 
     <div class="input-group"> 
      <input type="number" step="0.01" ng-model="choice.weight" class="form-control" placeholder="Weight" aria-describedby="basic-addon2"> 
      <span class="input-group-addon" id="basic-addon2">gm</span> 
     </div> 
     </div> 
     <div class="col-xs-4 pull-right"> 
     <button class="btn btn-default" ng-show="$last" ng-click="removeChoice() "><span class="glyphicon glyphicon-minus" aria-hidden="true"></span></button> 
     <button class="btn btn-default" ng-show="$last" ng-click="addNewChoice()"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span></button> 
     </div> 
    </fieldset> 
</form> 

dashboard.js

app.controller('dashboardCtrl', function($scope,$rootScope,$http) { 
    $scope.date = new Date(); 
    $scope.place='Kovilloor'; 
    $scope.choices = [{id: 'choice1'}]; 
    $scope.addNewChoice = function() { 
     var newItemNo = $scope.choices.length+1; 
     $scope.choices.push({'id':'choice'+newItemNo}); 
    };  
}; 
$scope.insertvalue = function(){ 
    var gl=($scope.GLID.GLID-0); 
    $scope.gli=gl+1; 
    for(var i=0;i<=$scope.choices.length;i++){ 
     $http.post("php/insertornament.php", {'GLID':$scope.gli,'ORNAMENT':$scope.choices[i].option1,//Error 
      'WEIGHT':$scope. choices[i].weight 
     }) 
    } 
}; 
+0

forループでhttp postを使用することはできません。それは非同期的な呼びです。そのようなループを使用するのではなく、バックエンドに配列を送るほうがいいです。 – digit

+0

@digitはいできます!合意しましたが、おそらく 'for'ループで' $ http.post'を使うのは誤りではありません。 –

+0

@ digit @ Matthew Cawley情報をありがとう。 – Ajith

答えて

0

それはより少なくよりではなく、あまりthan-でなければなりませんように見えますor-equアルへ:iが範囲外になるので、$scope.choices[i]ますので

'ORNAMENT':$scope.choices[i].option1 

変更:

for(var i=0;i<=$scope.choices.length;i++){ 

へ:

for(var i=0; i < $scope.choices.length; i++){ 

腹の部分はこれですしたがって、定義されません:

+0

この作品は?これが役に立つのであれば、答えとして記入してください。ありがとう、 –

+0

@Mathew Cawley。それは働いている – Ajith

+0

良いものは、喜んで助けてください。 :) –

関連する問題