JQUERY 输入字段值存储在变量中

标签 jquery input textfield

我无法将用户在文本框中键入的值捕获到变量中。

我不想使用<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/

相关文章:

javascript - 切换禁用的文本输入 onclick

C: 如何知道当前输入是否有\b

html - 在Vuetify中将文本对齐到文本字段的中心

javascript - 选择没有 ID 或类(class)名称的子项

javascript - 如何检测 Javascript/JQuery 对象是否有高度?

angular - angular4 应用程序中输入的最小值和最大值

swift - textField 到 LabelView live by swift 2

Swift UITest - 找不到具有可访问性标识符的文本字段的匹配项

javascript - 显示使用 Ajax 加载的 Bootstrap 选项卡在第一次单击时不起作用

javascript - 更新内联不适用于 + 等符号