Javascript Angularjs:使用ng模型输入的Angularjs中的日期类型返回未定义
大家好,我在使用日期类型和ng模型时遇到了一些问题。在my index.html中,我有如下输入字段:Javascript Angularjs:使用ng模型输入的Angularjs中的日期类型返回未定义,javascript,angularjs,Javascript,Angularjs,大家好,我在使用日期类型和ng模型时遇到了一些问题。在my index.html中,我有如下输入字段: <input class="form-control" type="date" id="date" ng-model="myData.date" /> <button type="submit" class="btn btn-primary" ng-click="myExample()">Submit</button> 在我的控制台中,我得到日志“日期:未
<input class="form-control" type="date" id="date" ng-model="myData.date" />
<button type="submit" class="btn btn-primary" ng-click="myExample()">Submit</button>
在我的控制台中,我得到日志“日期:未定义”
为什么我有未定义的值,这似乎是什么问题?谢谢
顺便说一下,我正在使用“引导数据采集器”你必须初始化你的
myData
对象
var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.myData={};//创建对象
$scope.myExample=function(){
log('date:',$scope.myData.date);
}
});代码>
提交
另一种解决方案是通过函数传递日期值
我就是这样做到的
代码:
提交
angular.module(“myApp”,[])
.controller(“myController”,函数($scope){
$scope.myExample=函数(日期){
控制台日志(日期);
警报(日期);
}
})
您还可以使用angularjs中提供的日期过滤器。请参阅此处的文档
以下是使用引导数据采集器所需的解决方案
var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.myData={}
$scope.myData.date=新日期();
$scope.myExample=function(){
调试('date:',$scope.myData.date);
log('date:',$scope.myData.date);
}
});代码>
$('#date')。日期选择器()
提交
您是否已选择日期并单击“输入”。因为它在我的浏览器中工作正常。是,已选择日期。但是,当我点击btn时,它总是未定义的。你敢用控制器作为语法吗?是的。当我尝试将类型更改为文本时,我得到的是日期,但它不在日期格式中。如果您使用任何日期选择器,您如何在文本框中获得日期,除非您使用选择器。嗯。。你使用什么日期选择器?我只是复制了你的代码,我没有使用任何外部库。这是默认的日期选择器,所以我认为问题在于我的日期选择器。因为我尝试了你的建议,但仍然得到未定义的数据,以及$scope.myData中保存了什么?这也是未定义的吗?yhup未定义,但当我将type更改为text时,它会给出一个字符串日期format@Arnold,请检查这个答案。
$scope.myExample = function() {
console.debug('date : ', $scope.myData.date);
}
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
</head>
<body ng-controller="myController">
<input class="form-control" type="date" id="date" ng-model="myData.date" />
<button type="submit" class="btn btn-primary" ng-click="myExample(myData.date)">Submit</button>
<script>
angular.module("myApp",[])
.controller("myController",function($scope){
$scope.myExample = function(date) {
console.log(date);
alert(date);
}
})
</script>
</body>
</html>