I am unable to capture the value typed by a user in the textbox into a variable.
I do not want to use <form>, is there any other way to do this?
<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>
If you want to get a value that the user types then you need to do so in response to some kind of event. The keyup event occurs (believe it or not) when a user is typing and releases a key. If you trap keyup you can update your variable with every keystroke but you should trap “change” as well to allow for paste and drag’n’drop changes that don’t use the keyboard. The “change” event occurs when the user modifies the field and then clicks or tabs out of it.
Also, at the moment your
valuevariable is global, but if all you are using it for is to set the value of another field you don’t need it at all:Note that within the event handler function
thiswill be the dom element so you can and should get its value directly without jQuery.If you’re using an old version of jQuery use
.bind()instead of.on().