【问题标题】:HTML datetime-local change event?HTML日期时间本地更改事件?
【发布时间】:2017-01-05 16:05:53
【问题描述】:

有没有办法使用<input type='datetime-local'> 控件来处理“日期时间选择”事件?

onchange、onselect 和 oninput 对我不起作用。

【问题讨论】:

  • 欢迎来到 SO。请访问help center 了解询问内容和方式。提示:邮政编码和努力。 “不适合我”到底是什么意思?
  • 字段填满时触发onchange
  • 你用的是什么浏览器?它看起来像是浏览器中的一个错误,因为根据此处的规范,onchangeonselect 对于所有 HTML 元素都是全局的:https://www.w3.org/TR/html-markup/global-attributes.html
  • 哇。谢谢!!!它可以工作(当字段完全填充时触发 onchange)。

标签: javascript html


【解决方案1】:

(在 chrome 中)当字段完全填充时触发 onchange 事件

还可以阅读Why is HTML5 input type datetime removed from browsers already supporting it?

【讨论】:

    【解决方案2】:

    由于onchange 直到字段完全填写后才会出现,所以我最终执行了一个onselect,如果该字段还没有值,则将new Date() 发送到onchange 处理程序。这消除了在设置 datetime-local 的时间部分之前在字段上设置值(可能在支持对象上)的错误感觉。

    【讨论】:

    • 这里有个例子就好了。
    【解决方案3】:

    您可以在输入字段中使用 Input 这将在您的输入日期更改时触发事件

    ? HTML

     <mat-form-field>
        <mat-label> Choose Date Time</mat-label>
        <input matInput type="datetime-local" [formControl]="control" 
         (input)="changeDateTime(control.value)" >
        <mat-error></mat-error>
      </mat-form-field>
    

    ? TS

      changeDateTime(value){
        console.log(value)
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-04
      相关资源
      最近更新 更多