<input type="date" max="max"> 不设置最大日期角度 js
Posted
技术标签:
【中文标题】<input type="date" max="max"> 不设置最大日期角度 js【英文标题】:<input type="date" max="max"> does not set max date angular js<input type="date" max="max"> 不设置最大日期角度 js 【发布时间】:2021-08-19 14:32:09 【问题描述】:我有以下 html 代码
<input class="col-5" type="date"
max=" vm.maxDate | date: 'yyyy-MM-dd' "
min=" vm.minDate | date: 'yyyy-MM-dd' "
ng-model="vm.endBy">
以下是控制器中的 Angular js 代码
vm.minDate = new Date(moment.utc().format(dateFormat));
vm.maxDate = new Date(moment.utc().format(dateFormat));
vm.endBy = new Date(moment.utc().format(dateFormat));
vm.maxDate.setDate(vm.minDate.getDate()+ 185);
vm.endBy.setDate(vm.minDate.getDate() + 185);
现在我的日历显示到 maxDate 日期选择为 maxdate 但是当我提交表单时它显示为未定义。我也尝试在 HTML 中打印 endBy,但它没有显示 maxDate。但是,对于早于 maxDate 的所有其他日期,它工作正常。
我不知道这有什么问题。有谁知道它为什么会这样?最大验证是否不检查是否相等,为什么在我提交时在输入框中设置 endBy 日期它说未定义?
【问题讨论】:
But when I submit the form it shows as undefined.
你忘了设置name
属性吗?
name
属性用于引用 javascript 中的元素,或在提交表单后引用表单数据。只有具有name
属性的表单元素才会在提交表单时传递其值。
它适用于小于 maxDate 的日期。 ng-model 自动绑定它。
为什么不使用属性绑定?而不是放入 mustash 语法?
【参考方案1】:
您创建的日期无效
new Date(moment.utc().format( 'yyyy-MM-dd'));
试试
vm.minDate = new Date();
vm.maxDate = new Date();
vm.endBy = new Date();
【讨论】:
dateFormat 是 'yyyy-MM-dd' 。但即使我使用 new Date(); 也存在这个问题;还有 new Date(moment.utc().format(dateFormat));日期似乎有效。以上是关于<input type="date" max="max"> 不设置最大日期角度 js的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 jQuery 从 HTML <input type="date"> 中提取值
bootstrap 表单 <input type="date">为啥没有出现日历
<input type="date" max="max"> 不设置最大日期角度 js
为啥 `input type="date"` 的行为发生了变化?