我无法将用户在文本框中键入的值捕获到变量中。
我不想使用<form>
,还有其他方法吗?
<html>
<head>
<style>
p { color:blue; margin:8px; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<input type="text" id="txt_name" />
<script type="text/javascript">
value = $("#txt_name").val();
$("#dom_element").text(value);
</script>
</body>
</html>
最佳答案
如果您想获取用户键入的值,那么您需要这样做以响应某种事件。当用户键入并释放按键时,keyup 事件就会发生(不管你信不信)。如果您捕获按键,则可以在每次击键时更新变量,但您也应该捕获“更改”,以允许不使用键盘的粘贴和拖放更改。当用户修改字段然后单击或按 Tab 键退出该字段时,就会发生“更改”事件。
此外,目前您的 value
变量是全局变量,但如果您使用它的目的只是设置另一个字段的值,则根本不需要它:
$("#txt_name").on("keyup change", function() {
$("#dom_element").text(this.value);
});
// OR, if you need the variable for some other reason:
$("#txt_name").on("keyup change", function() {
var value = this.value; // omit "var" to make it global
$("#dom_element").text(value);
});
请注意,在事件处理函数中,this
将是 dom 元素,因此您可以并且应该直接获取其值,而无需使用 jQuery。
如果您使用旧版本的 jQuery,请使用 .bind()
而不是 .on()
。
关于JQUERY 输入字段值存储在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8624954/