はコントローラーのコード
var myApp = angular.module('myApp',[]);
function MyCtrl($scope,$http) {
$scope.data = [];
$scope.addTextbox = function(){
$scope.data.push({'text':''});
}
$scope.sendDataToServer = function(){
console.log(JSON.stringify($scope.data));
$http({
url: 'your_server_url',
method: "POST",
data: JSON.stringify($scope.data),
headers: {
'Content-Type': undefined
}
}).then(function(res) {
// do stuff on success
}, function(errorMsg) {
console.log(errorMsg);
// showing error
});
}
}
ここであなたが今、あなたはSend Data
ボタンをクリックすることで、このデータを送信することができ、$scope.data
にすべてのテキストボックスのデータを取得します Here is the working fiddle
<div ng-controller="MyCtrl">
<div class="row" ng-repeat="(key,val) in data">
<div class="col-md-12">
<input type="text" ng-model="val.text">
</div>
</div>
<div class="row">
<div class="col-md-12">
<button class="btn btn-primary" ng-click="addTextbox()">
Add Textbox
</button>
</div>
<div class="col-md-12">
<button class="btn btn-success" ng-click="sendDataToServer()">
Send Data
</button>
</div>
</div>
<div class="row">
<div class="col-md-12">
Result = {{data}}
</div>
</div>
</div>
、これを試してみてください。
このデータを提出するurl
を入力してください。
問題がある場合は、コメントしてください。
あなたの質問はあまり明確ではありません。表示する入力ボックスの数はどのように決定していますか?または、あなたのユーザーは、何人かのセレクターを通して、またはボタンを何度も何度か押して、何人を決定していますか?あなたのサーバは何を受け入れますか、文字列の配列ですか? – Claies
一般に、Angularは* data *フレームワークです。これはUIフレームワークではありません。どのような種類のデータを扱うかを表現できる場合は、UIが自動的に処理します。ここでは、まったく知られていないデータのUIを設計することを尋ねているようですが、これは非常に奇妙です。 – Claies
私が欲しいものを見ると、ページ上にボタンがあり、「新しいアイテムを追加する」があります。クリックするたびにページにテキストボックスが追加されます。そして、私はそれを5回クリックしたと仮定して、私は5つのテキストボックスを取得し、そのページを提出するときに、これらの5つのテキストボックスデータはすべて、DBエントリのためにサーバに送られるべきです。 – TUSHAR