javascript - Posting data in form html to server using AngularJS Http Post -
i ask posting problem, have form below, in form, have using ng-submit , ng-click function didn't work, can me?
<form method="post" class="sky-form" name="form"> <div class="row"> <div class="col col-12"><img src="public/images/icon_namapasien.png" alt=""/> nama pasien</div> </div> <div class="row"> <div class="col col-10"> <div ng-repeat="profile in profil"> <label class="input disabled"> <input type="text" ng-model="profile.name"> </label> </div> </div> <div class="col col-2"> <a class="btnstatus"> </a> </div> </div><!-- /row --> <div class="row"> <div class="col col-12"><img src="public/images/icon_tgl.png" alt=""/> tanggal lahir</div> </div> <div class="row"> <div class="col col-3"> <label class="select"> <div ng-repeat="profile in profil"> <select name="gender" ng-model="profile.birth_date"> <option ng-repeat="n in range(01,31)" value="{{n}}">{{n}}</option> </select> <i></i> </div> </label> </div> <div class="col col-4"> <label class="select"> <div ng-repeat="profile in profil"> <select name="gender" ng-model="profile.birth_month"> <option value="01">januari</option> <option value="02">februari</option> <option value="03">maret</option> <option value="04">april</option> <option value="05">mei</option> <option value="06">juni</option> <option value="07">juli</option> <option value="08">agustus</option> <option value="09">september</option> <option value="10">oktober</option> <option value="11">november</option> <option value="12">desember</option> </select> <i></i> </div> </label> </div> <div class="col col-3"> <label class="select"> <div ng-repeat="profile in profil"> <select name="gender" ng-model="profile.birth_year"> <option ng-repeat="n in range(1910,2016)" value="{{n}}">{{n}}</option> </select> <i></i> </div> </label> </div> <div class="col col-2"> <a class="btnstatus"> </a> </div> </div><!-- /row --> <div class="row"> <div class="col col-12"><img src="public/images/icon_gender.png" alt=""/> jenis kelamin</div> </div> <div class="row"> <div class="col col-10"> <div class="select"> <label class="select"> <div ng-repeat="profile in profil"> <select name="gender" ng-model="profile.gender"> <option value="1">pria</option> <option value="0">wanita</option> </select> <i></i> </div> </label> </div> </div> <div class="col col-2"> <a class="btnstatus"> </a> </div> </div><!-- /row --> <div class="row"> <div class="col col-12"><img src="public/images/icon_alamat.png" alt=""/> alamat</div> </div> <div class="row"> <div class="col col-10"> <div ng-repeat="profile in profil"> <label class="input disabled"> <input type="text" ng-model="profile.address"/> <input type="hidden" name="name" value="0" ng-model="kodekota"> </label> </div> </div> <div class="col col-2"> <a class="btnstatus"> </a> </div> </div><!-- /row --> <div class="row"> <div class="col col-12"><img src="public/images/icon_telp.png" alt=""/> nomor telepon / hp</div> </div> <div class="row"> <div class="col col-10"> <div ng-repeat="profile in profil"> <label class="input disabled"> <input type="text" value="" ng-model="profile.phone"/> </label> </div> </div> <div class="col col-2"> <a class="btnstatus"> </a> </div> </div><!-- /row --> <p> </p> <button class="btn-yellow" type="submit" name="submit" ng-click="postprofil()">simpan perubahan</button> </form>
here angularjs code
$scope.getprofil = function(){ $http.get('/geturl').success(function(data){ $scope.profil = data; }) } $scope.getprofil(); $scope.profile = {}; $scope.postprofil = function(){ $http.post('/posturl').success(function(data){ $scope.getprofil(); }).error(function(data){ console.log(data); }) } $scope.range = function(min, max, step){ step = step || 1; var input = []; (var = min; <= max; += step) input.push(i); return input; };
one thing sure, know http.post using link bad idea, before that, have debug using alert javascript function, example want data profile.name alert (profile.name) inside postprofil function returns undefined.
here key should inputed in http.post
- address
- phone
- birth
- gender
- name
i use http array structure such as
$http.post({ method: 'post', url: '/posturl', data: { //data here } })
what guys think? thanks
edit:
maybe change questions, know code updating data previous data in apiurl using angularjs? problem getprofil , postprofil in same key , value (but think of keys different).
just use ng-model $scope.profile
:
$scope.postprofil = function(){ $http.post('/posturl', $scope.profile).success(function(data){ $scope.getprofil(); }).error(function(data){ console.log(data); }) }
Comments
Post a Comment