[英]While typing in a text input field, printing the content typed in a div
I have a website where there is a empty box and a input text box. 我有一个网站,其中有一个空框和一个输入文本框。 I want to be able to type something in that input box and have it be printed on the empty box. 我希望能够在该输入框中键入内容并将其打印在空盒子上。
<div class='printchatbox'></div>
which is the empty box and 这是空盒子
<input type='text' name='fname' class='chatinput'>
which is the input box. 这是输入框。
.printchatbox
{border-width:thick 10px;border-style: solid;
background-color:#fff;
line-height: 2;color:#6E6A6B;font-size: 14pt;text-align:left;float: middle;
border: 3px solid #969293;width:40%;}
If anyone could tell me how to do this I would greatly appreciate it. 如果有人能告诉我如何做到这一点我会非常感激。 Thanks 谢谢
You use the onkeyup
event 您使用onkeyup
事件
Searching with ids is a lot easier. 使用id进行搜索要容易得多。 Add ids to your elements as follows: 将ID添加到元素中,如下所示:
<div class='printchatbox' id='printchatbox'></div>
<input type='text' name='fname' class='chatinput' id='chatinput'>
JS JS
var inputBox = document.getElementById('chatinput');
inputBox.onkeyup = function(){
document.getElementById('printchatbox').innerHTML = inputBox.value;
}
Here is a Live example 这是一个实例
http://jsfiddle.net/3kpay/ http://jsfiddle.net/3kpay/
<div class='printchatbox' id='printchatbox'></div>
<input type='text' name='fname' class='chatinput'
onkeyUp="document.getElementById('printchatbox').innerHTML = this.value" />
There are many ways to get this done, possibly the easiest is to use jQuery. 有很多方法可以完成这项工作,最简单的方法是使用jQuery。 In the example below I am using the jQuery keyUp()
function to listen for keyboard events, then writing the updated value to the .printChatBox
在下面的示例中,我使用jQuery keyUp()
函数来侦听键盘事件,然后将更新的值写入.printChatBox
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.0.min.js"></script>
</head>
<body>
<div class='printchatbox'>CHANGE ME</div>
<input type='text' name='fname' class='chatinput'>
<script type="script/javascript">
$('.chatinput').keyup(function(event) {
newText = event.target.value;
$('.printchatbox').text(newText);
});
</script>
</body>
</html>
I've posted a working example here: http://jsbin.com/axibuw/1/edit 我在这里发布了一个工作示例: http : //jsbin.com/axibuw/1/edit
In your HTML, 在你的HTML中
<div id='printchatbox'></div>
<br>
<input type='text' id='fname' class='chatinput' onkeyup="annotate()">
In JS, 在JS中,
function annotate(){
var typed= document.getElementById("fname").value;
document.getElementById("printchatbox").innerHTML= typed;
}
Angular JS does this in two lines of code : Angular JS在两行代码中执行此操作:
Just import Angular JS as you import other libraries : 在导入其他库时导入Angular JS:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js">
Then, on you first div (where you are copying from): 然后,在你的第一个div(你从哪里复制):
<input type="text" ng-model="myID"> </input>
Then, on the place where you will show the content : just write : 然后,在您将显示内容的地方:只写:
<div> {{myID}}</div>
This is the best solution I have ever found ! 这是我见过的最好的解决方案!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.