.val()给了我未定义的值

.val() is giving me undefined?

本文关键字:未定义 val      更新时间:2023-09-26

当我按下回车键时,我试图让输入字段中写入的任何文本都显示在弹出窗口中,但它总是显示为未定义。(弹出窗口显示"测试等等未定义")。我已经盯着这个问题看了几天,并在寻找解决方案,但我想不通!

是因为我为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>

jQuery使用标准css选择器,因此$("#testField")查找id为"testField"的元素。所以你的输入应该是id="testField":
<input type="text" id="testField">

要搜索"class"为"testField"的元素,请使用此$(".testField")

您的输入具有类testField,而不是id;将#更改为.:

alert("test blah blah " + $(".testField").val());

您试图使用"id"选择器而不是"class"选择器来选择元素。正确的方法是:

$(".testField").val()

同样,你也可以修复你的HTML:

<section class="stuff">
    <input type="text" class="test-field" id="testField">
</section>