javascript - 获取无效日期时输入的日期值
问题描述
在jsFiddle中,如果输入设置为无效日期,例如 2/31/2000,则.val()
返回""
<input type="date" id="date-test" />
<div id="date-label"></div>
$('#date-test').on('change', function() {
var inputDate = $(this).val();
$('#date-label').html(inputDate)
});
正如我在评论中所读到的,这种行为是设计使然。
问题:
由于我无法检查空字符串,我如何判断用户何时未输入日期与输入无效日期?
解决方案
这让我开始思考,所以我玩了一下,也许这样的事情可以帮助或激发某人的其他想法......
如果您输入 02/31/2000,您将得到输入的内容。但这存在明显的问题。
并且说,您也可以不经意地使用一些日期选择器库,这就是他们所做的。时间和日期等 HTML 元素非常有限,我认为这不会很快改变。
let keys = [];
document.onkeypress = function(e) {
e = e || window.event;
console.clear();
keys.push(e.code)
//console.log(keys)
};
$('#date-test').on('input', function() {
let keys2 = [];
keys.forEach(key => {
let key3 = key.split("Digit")
keys2.push(key3[1])
})
$('#date-label').html(keys2)
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="date" id="date-test" />
<div id="date-label"></div>
推荐阅读
- python - PyYAML文件高效管理
- azure-cosmosdb - FeedOption 中的 MaxItemCount 和 QueryMetric 中的 RetrievedDocumentCount 如何在 Cosmos DB 中工作,为什么两者都不匹配?
- java - 如何在java中修改和序列化字符串?
- android - 是否有更新的 Android 制造商 USB 供应商 ID 的完整列表?
- python - 我无法在pygame中移动精灵
- php - 如何解决 wamp 上的 mysql 端口 3306 错误?
- android - 重复警报 BroadcastReceiver Intent 字符串附加信息未更新
- node.js - 如何在 Postman/form-data 的嵌套对象中发布数组?
- python-3.x - 如何从TensorFlow TFRecord中的二进制字符串中提取字符串
- .net - Azure PutBlockAsync 和 PutBlockListAsync 用于块上传