javascript - 从按键事件的日期输入中获取值

标签 javascript

有没有办法从按键事件中的日期输入字段获取当前值?我在按键事件中的文本输入字段上毫无困难地使用了 jQuery .val() 函数或直接 javascript .value ,但是当我在日期输入字段上尝试其中任何一个时(在支持它的浏览器中,例如 chrome) ),我只是得到一个空字符串 - 显然在输入有效日期之前该值没有设置。

我使用此功能允许用户输入六位数字的日期,例如 110712,并在输入时自动添加斜杠以形成 11/07/2012。当然,我可以只使用纯文本输入,但我喜欢日期类型字段在支持它的浏览器上为我提供的弹出日期选择器。

编辑: 也许我并不清楚我想做什么。从附加到日期输入字段的按键处理程序中,我想获取用户当前在该字段中输入的内容。例如,如果用户已经输入了“11”,然后输入了“0”,我希望能够看到该字段的当前值为“11”。使用基本文本输入(或不支持日期输入字段的浏览器),我可以从按键事件处理程序中调用 .val() 或 .value ,它会给我结果“11”。然而,在支持日期输入字段的浏览器中,调用 val() 或 .value 时得到的只是“”。

最佳答案

更新:

不幸的是,这似乎无法完成。考虑 input[type="date"] 一个选择,其中选项是历史中的每个日期,而不是文本框。 http://www.html5tutorial.info/html5-date.php 上面的链接显示其他浏览器正是以这种方式实现的。请注意,一旦文本框具有有效日期,.val() 就会获取该值。

您可以使用 input[type="text"] 和旁边的一个小 input[type="date"] 来完成混合,在更改时将其值转储到文本框中。

工作示例:http://jsfiddle.net/WaAcU/ (这不会进行验证,只是将选择器转储到文本框中)

原始答案:

使用 JQuery 按键处理程序。

$(dateField).keypress(function(){
    ...your validation code...
});​

简单的例子: http://jsfiddle.net/zUMHr/

关于javascript - 从按键事件的日期输入中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13276496/

相关文章:

javascript - YouTube iframe API : can't make it responsive

javascript - 从 CDN 为 CSS 提供本地回退

javascript - Angular 过滤器范围缩小至 1 个关键类型以准备发送

javascript - cpp 和 javascript 中的双重运算是否相同?

javascript - 切换 jQuery 动画不起作用

javascript - “onclick”不适用于 EJS 和 Node

javascript - 让 jQuery 计算一个 div 高度,减去一个特定的 em 值

javascript - 如果该 div 上没有事件发生,则在一段时间后隐藏该 div

javascript - 从一列中抓取数据并将结果传递到旁边的列

JavaScript 变量问题