当我按下回车键时,我试图将任何写入输入字段的文本显示在弹出窗口中,但它总是显示未定义的。 (弹出窗口说"测试blah blah undefined")。我已经盯着这几天寻找解决方案,但我无法弄清楚!
是因为我为keydown选择了错误的对象吗?是否存在语法错误,我只是没有捕获?谢谢!
<!DOCTYPE html>
<html>
<head>
<title>Test jQuery Thing</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script type="text/javascript">
$("#document").ready(function() {
$(document).keydown(function(e){
//enter key pressed
if (e.keyCode == 13){
alert("test blah blah " + $("#testField").val());
};
});
}); // end of ready function
</script>
</head>
<body>
<section class="stuff">
<input type="text" class="testField">
</section>
</body>
</html>
&#13;
答案 0 :(得分:6)
jQuery使用标准的css选择器,因此$("#testField")
查找id为“testField”的元素。所以你的输入应该是id="testField"
:
<input type="text" id="testField">
要搜索“class”为“testField”的元素,请使用此$(".testField")
。
答案 1 :(得分:1)
您的输入有class testField,而不是id;将#
更改为.
:
alert("test blah blah " + $(".testField").val());
答案 2 :(得分:0)
您尝试使用“id”选择器而不是“class”选择器来选择元素。正确的方法是:
$(".testField").val()
同样,您也可以修复HTML:
<section class="stuff">
<input type="text" class="test-field" id="testField">
</section>