【问题标题】:<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 语法?

标签: javascript html angularjs datepicker


【解决方案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));日期似乎有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-28
  • 1970-01-01
  • 1970-01-01
  • 2015-01-11
  • 2018-07-27
  • 2014-04-09
  • 1970-01-01
相关资源
最近更新 更多