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

use*_*409 8 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>
Run Code Online (Sandbox Code Playgroud)

nnn*_*nnn 11

如果您想获得用户输入的值,那么您需要这样做以响应某种事件.当用户键入并释放密钥时,会发生密钥事件(信不信由你).如果您捕获键盘,您可以通过每次击键更新您的变量,但您应该捕获"更改"以允许粘贴和拖放不使用键盘的更改.当用户修改字段然后单击或标签时,会发生"更改"事件.

此外,目前您的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);
});
Run Code Online (Sandbox Code Playgroud)

请注意,在事件处理函数中,函数this将是dom元素,因此您可以并且应该在没有jQuery的情况下直接获取其值.

如果你使用旧版本的jQuery .bind()而不是.on().