我在HTML5页面中有一个带有一些日期类型输入的表单,我想用Angular获取值。它采用screenshot所示的非预期格式。输入类型是日期而不是日期时间。
我测试发送此表单,我收到正确的预期日期,所以问题是如何在angulare中获得正确的日期?
感谢您的帮助!
以下是代码:
<fieldset>
<div class="form-group">
<label for="start_date" class="col-sm-2 control-label">Date de début</label>
<div class="col-sm-10">
<input type="date" name="start_date" ng-model="start_date" class="form-control" required="required">
</div>
</div>
<div class="form-group">
<label for="end_date" class="col-sm-2 control-label">Date de fin</label>
<div class="col-sm-10">
<input type="date" name="end_date" ng-model="end_date" class="form-control" required="required">
</div>
</div>
<div class="form-group">
<label for="input" class="col-sm-2 control-label">Type de contact:</label>
<div class="col-sm-2">
<select ng-model="type" id="input" class="form-control" required="required">
<option value="all">Tous</option>
<option value="fiche">Demande de renseignements ( DR )</option>
<option value="telephone">Demande de rappel</option>
<option value="contact">Général</option>
</select>
</div>
</div>
<div class="form-group">
<div class="col-sm-10 col-offset-2">
<button type="submit" ng-click="getcontacts(start_date, end_date, type);" class="btn btn-primary">Lancer la recherche</button>
</div>
</div>
{{ start_date}} {{end_date}} {{ type }}
答案 0 :(得分:0)
您输入的类型为&#34;日期&#34;,因此您的模型类型为日期。如果要获取日期的字符串表示形式,可以使用$ filter服务。像这样:
https://jsfiddle.net/relferreira/y7y5n62c/2/
angular.module('app', []);
angular.module('app')
.controller('MainController', mainController);
mainController.$inject = ['$filter'];
function mainController($filter){
var vm = this;
vm.date = new Date();
vm.formatedDate = '';
vm.selectDate = selectDate;
function selectDate(){
vm.formatedDate = $filter('date')(vm.date);
}
}
HTML:
<div data-ng-app="app">
<div data-ng-controller="MainController as mainVm">
<input type="date" data-ng-model="mainVm.date" />
<button data-ng-click="mainVm.selectDate()">Select</button>
{{mainVm.formatedDate}}
</div>
</div>
答案 1 :(得分:0)
感谢Renan并发现我的问题最终与AngularJS - convert dates in controller
相同在$ filter
中注入后,我在Controller中进行了以下转换它充当魅力,再次感谢!
icademieApp.controller( 'contactsCtrl', ['$scope', '$filter', 'contactService', function ($scope, $filter, contactService) {
$scope.getcontacts = function ( start_date, end_date, type ){
console.log( start_date + ' & ' + end_date );
start_date = $filter('date')(start_date, "yyyy-MM-dd");
end_date = $filter('date')(end_date, "yyyy-MM-dd");
console.log( start_date + ' & ' + end_date );
....
}
}]);
第一次记录:
2016年3月1日星期二00:00:00 GMT + 0100(巴黎,马德里)&amp; 2016年3月4日星期五00:00:00 GMT + 0100(巴黎,马德里)
第二次记录:
2016-03-01&amp; 2016年3月4日