I have a problem of ng-model not geting called in controller if I use ng-repeat. As you can see below, in sports section, I get the sports value undefined when the form is submitted in controller however for demands, I get whatever I input into the field meaning it gets the value. I tried to identify by id however it does not work as well.
<form ng-submit="sendDetails(sports, demands)" ng-class="form-horizontal" enctype="multipart/form-data">
<div class="row">
<div class="form-group col-md-6">
<label class="control-label col-sm-2">Sports:</label>
<input class="form-control" ng-model="sports" ng-repeat="sports in selectedSports" type="text" disabled/>
</div>
</div>
<div class="row">
<div class="col-md-6">
<input class="form-control" ng-model="demands" type="text"/>
</div>
<div class="col-md-6">
<button class="btn btn-default" type="submit">Submit</button>
</div>
</div>
</form>
angular.factory('sportsFactory', function($http) {
return {
postAdministrationEntries: function ($sports, $demands){
var fd = new FormData();
fd.append('sports', $sports);
fd.append('demands', $demands);
return $http.post('/sendDetails', fd,{
headers: { 'Content-Type': undefined }
});
}
}
Controller
$scope.sportsValues =[];
$scope.sendDetails = function($sports, $demands){
if($demands.length > 0 ){
var sendDetailsPromise = sportsFactory.sendDetails($sports, $demands);
sendDetailsPromise.success(function (data){
$sportsValues = data;
};