Javascript 如何清除模糊上的无效日期字段?(AngularJS)
假设我有一个带有Javascript 如何清除模糊上的无效日期字段?(AngularJS),javascript,angularjs,html,date,Javascript,Angularjs,Html,Date,假设我有一个带有type='date'属性的字段。未触及时,它将日期显示为mm/dd/yyyy。当用户输入输入时,比如说2016年3月21日,删除其中一个字段(即2016年3月23日),然后单击字段外部(“模糊”)时,是否可以使用AngularJS ng blur指令将字段清除回该状态 在html中 <input type="date" ng-model="date" ng-blur="blured()" /> 另见: ng blur 在html中 <input type="
type='date'
属性的
字段。未触及时,它将日期显示为mm/dd/yyyy。当用户输入输入时,比如说2016年3月21日,删除其中一个字段(即2016年3月23日),然后单击字段外部(“模糊”)时,是否可以使用AngularJS ng blur指令将字段清除回该状态
在html中
<input type="date" ng-model="date" ng-blur="blured()" />
另见:
ng blur
在html中
<input type="date" ng-model="date" ng-blur="blured()" />
另见:
在HTML中
希望这对你有用,对我有用
在HTML中
希望这对你有用,对我有用
设置范围变量
ng model
绑定到新的Date()
?新的日期对象具有当前日期的值奇怪的是,您似乎必须通过本机JS或jQuery重置它:$(“输入”).val(null)代码>-请看这里:酷,非常感谢!任何人在这个问题上绊倒,约翰内斯的解决方案是有效的!设置范围变量ng model
绑定到新的Date()
?新的日期对象具有当前日期的值奇怪的是,您似乎必须通过本机JS或jQuery重置它:$(“输入”).val(null)代码>-请看这里:酷,非常感谢!任何人在这个问题上绊倒,约翰内斯的解决方案是有效的!这不会产生预期效果,因为尽管模型设置为null,但输入字段视图仍显示无效日期(即02/mm/2017)。我需要一种方法来清除视图和模型。如果您要询问,无效输入的$viewValue值已设置为空字符串,因此不起任何作用。这没有达到预期效果,因为尽管模型设置为null,但输入字段视图仍显示无效日期(即02/mm/2017)。我需要一种方法来清除视图和模型。如果您要询问,无效输入上的$viewValue的值已经设置为空字符串,因此不做任何操作。
<input type="date" ng-model="date" ng-blur="blured(date,$event)" />
$scope.blured= function (inputdate, e) {
if (!e.ctrlKey && !e.metaKey && (e.keyCode == 32 || e.keyCode > 46))
doFormat(e.target);
if (e.target.value.length == 10) {
$scope.IsValidDate(1, e.target.value);
}
}
//id is used to check which date control
//method is used to validate entered date in MM/dd/yyyy format
$scope.IsValidDate = function (id, dateValue) {
var formats = ['MM/DD/YYYY']
if (!moment(dateValue, formats).isValid()) {
if (id == 1) {
$scope.date = null;
}
}
}