2017-01-15 8 views
0

HTML 5の日付入力値を取得する方法を知りたいです。この日付の形式は、YYYY-MM-DDにする必要があります。この値は、submitボタンをクリックした後、date1変数に格納する必要があります。Angular JS HTML 5日付入力値がYYYY-MM-DD形式になる

HTMLコード:

<form ng-controller="validateCtrl" name="myaForm" novalidate> 
    <input class="datepicker validate" type="date" id="birthday" ng-model="birthday" placeholder="yyyy-MM-dd" required> 
    <button type="submit" ng-submit="submitfun()">Submit</button> 
    </form> 

スクリプトコード:

<script> 
var app = angular.module('myApp', []); 
app.controller('validateCtrl', function($scope) { 
$scope.submitfun= function() { 
birthday = $filter('date')(birthday, 'yyyy/MM/dd'); 
} 
}); 
</script> 

このコードは、この問題を解決する方法を私のために働いていません。

答えて

0

あなたはスコープ変数を宣言しませんでした。 $ scope.birthdayを書いてください。

0

以下の回答で可能な解決策を見て、HTML5の入力日付型の形式を変更することが可能方法はありません。

How can I load value on input date with angular?

あなたが取得したいと思いならば、私はそれに追加します

<form ng-controller="validateCtrl" name="myaForm" novalidate> 
    <input class="datepicker validate" type="date" id="birthday" ng-model="birthdayModel" placeholder="yyyy-MM-dd" required> 
    <button type="submit" ng-submit="submitfun()">Submit</button> 
</form> 


$scope.submitfun= function() { 
    $scope.birthday = $moment($scope.birthdayModel).format('YYYY-MM-DD'); 
    console.log($scope.birthday.toString()); 
} 

かのように、手動で日付を解析:日付のフォーマットされた文字列値が、その後、あなたは次のように$momentライブラリを使用するか

$scope.submitfun= function() { 
    var days = $scope.birthdayModel.getDate(); 
    var months = $scope.birthdayModel.getMonth()+1; 
    var years = $scope.birthdayModel.getFullYear(); 
    //Now you have them separate you can put them in whatever format you want 
    //like this for example: 
    $scope.birthday = days+'-'+months +'-'+years ; 
    console.log($scope.birthday); 
}