Javascript Html5日期字段无法设置回来自后端的日期字段

Javascript Html5日期字段无法设置回来自后端的日期字段,javascript,angularjs,html,momentjs,html5-input-date,Javascript,Angularjs,Html,Momentjs,Html5 Input Date,我有html日期字段。 我有一个create页面,我在其中向MySQL数据库插入日期 我有一个编辑页面,在那里我获取日期并设置回输入字段 <input id="dob" name="dob" type="date" placeholder="Enter date of birth" class="form-control" ng-model="user.dob"/> 问题 我正在将此字段中的日期插入MySQL数据库,并将其格式化为YYYY-MM-DD格式。然后我将格式设置为mm/d

我有html日期字段。 我有一个create页面,我在其中向MySQL数据库插入日期 我有一个编辑页面,在那里我获取日期并设置回输入字段

<input id="dob" name="dob" type="date" placeholder="Enter date of birth" class="form-control" ng-model="user.dob"/>
问题

我正在将此字段中的日期插入MySQL数据库,并将其格式化为
YYYY-MM-DD
格式。然后我将格式设置为
mm/dd/yyyy
格式,并尝试在html日期字段中进行设置

但这是一个错误

angular.js:14642 Error: [ngModel:datefmt] http://errors.angularjs.org/1.6.5/ngModel/datefmt?p0=06%2F03%2F2018
at angular.js:88
at Array.<anonymous> (angular.js:25252)
at angular.js:29245
at m.$digest (angular.js:18202)
at m.$apply (angular.js:18480)
at l (angular.js:12501)
at XMLHttpRequest.s.onload (angular.js:12655)
angular.js:14642错误:[ngModel:datefmt]http://errors.angularjs.org/1.6.5/ngModel/datefmt?p0=06%2F03%2F2018
在角上。js:88
在阵列上。(见附件js:25252)
在angular.js:29245
m.$digest(angular.js:18202)
在m.$apply(angular.js:18480)
在l(angular.js:12501)
在XMLHttpRequest.s.onload(angular.js:12655)
得到了答案。 需要使用ng值,然后它会自动在字段中设置日期

function loadUserById() {
        ApiService.getById($scope.id).then(function(response) {
            $scope.user = response.data[0];
            $scope.user.password1 = response.data[0].password;

            if($scope.user.dob) {
                var date = new Date($scope.user.dob);
                $scope.user.dob = moment(date).format("YYYY-MM-DD");
            }
        }, function(error) {
            console.log(error);
        });
    }


<input id="dob" name="dob" type="date" ng-readonly="readOnly" placeholder="Enter date of birth" class="form-control" ng-model="user.dob" ng-value="user.dob"/>
函数loadUserById(){
ApiService.getById($scope.id).then(函数(响应){
$scope.user=response.data[0];
$scope.user.password1=response.data[0]。密码;
if($scope.user.dob){
var日期=新日期($scope.user.dob);
$scope.user.dob=时刻(日期).format(“YYYY-MM-DD”);
}
},函数(错误){
console.log(错误);
});
}

请参阅。日期显然不是
YYYY-MM-DD
格式。您可以尝试在MySQL查询中对其进行格式化,以便以
YYYY-MM-DD
格式返回日期。不,我正在客户端站点对其进行格式化,然后将其设置为日期字段。请准确阅读我第一条评论中的链接,即说明。它将指导你为什么会出现这个错误。
function loadUserById() {
        ApiService.getById($scope.id).then(function(response) {
            $scope.user = response.data[0];
            $scope.user.password1 = response.data[0].password;

            if($scope.user.dob) {
                var date = new Date($scope.user.dob);
                $scope.user.dob = moment(date).format("YYYY-MM-DD");
            }
        }, function(error) {
            console.log(error);
        });
    }


<input id="dob" name="dob" type="date" ng-readonly="readOnly" placeholder="Enter date of birth" class="form-control" ng-model="user.dob" ng-value="user.dob"/>