我有这段代码
$("#inputId").keyup(function(){
alert($("#inputId").val());
});
我知道这是相当基本的(我不确定要google什么),但我想知道为什么警报总是一个空字符串。
编辑 -
出于某种原因,这不包括在内。
我的意思是当我输入字段时,警报从不显示任何内容 - 如果这是不精确的,道歉,我的意思是警报显示,但它总是显示一个空字符串(所以它应该显示日期中的内容)一个键已经解除后的字段,但没有)。这仍然发生在下面的固定html。
编辑(跟进问题) -
很酷,所以我接受了下面的答案之一。我想这样做,以便无论我输入什么,值都会出现在警报中(而不仅仅是当条目为日期格式时)。我该如何实现这一目标?
HTML代码 -
<div id = "container">
<input type = "date" id = "inputId" class = "inputClass"><br /></input>
<div id="deleteContainer"><span id="x">x</span></div>
</div>
答案 0 :(得分:2)
input
被打破了。变化
<input type = "date" id = "inputId" class = "inputClass"><br /></input>
^^^^^^^^^^^^^^^
到
<input type = "date" id = "inputId" class = "inputClass">
答案 1 :(得分:2)
我创建了一个JSFiddle来测试它,如果您使用并输入类型日期,那么它应该可以工作。
还将$('#inputId')更改为$(this),这样可以节省额外的查询并且速度更快。
$("#inputId").keyup(function(){
alert($(this).val());
});
正如您在小提琴中看到的那样,使用带有日期字段的键盘(在Chrome中),在日期正确之前不会返回值。
您无法更改日期字段的行为,但您有两个选项。
这是一个fiddle,用于演示更改事件而非keyup事件。
更新更改小提琴以使用输入日期
答案 2 :(得分:1)
你破坏了HTML:
<input type="date" id="inputId" class="inputClass"><br /></input>
应该是:
<input type="date" id="inputId" class="inputClass" /><br />
答案 3 :(得分:1)
这很好用:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Test</title>
</head>
<body>
<input id="inputId" type="text"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$("#inputId").keyup(function() {
console.log($("#inputId").val());
})
</script>
</body>
</html>