我必须进行伪聊天,这会在按下按钮到textarea上方的一个框后添加来自textarea的文本。到目前为止,我的代码看起来像这样
<form name="frm1" id="puts">
<textarea name="txt1" COLS=15 ROWS=1></textarea>
<a class="Sisesta Nupp" id="nupp5" href="#"
onclick="alert(document.frm1.txt1.value) +(document.frm1.txt1.value='')"">
<span>Sisesta </span>
</a>
但是如何将它写在textarea上方的一个方框中,以便它不会从上面的方框中删除以前写过的东西?如果文字不再合适,如何绘制一个可以制作卷轴的框?当我写一些东西时,它应该用一个列表中的随机句子回答我。
edit1:由于html是垃圾,而另外两个解决方案(很好)在我的代码中不起作用,我想知道,我怎样才能将document.frm1.txt1.value附加到一个方框中在我的textarea上面?
答案 0 :(得分:2)
使用jQuery创建很容易:
jQuery代码:
$('#button').click(function() {
$('#result').append('<br />'+$('#text').val());
$('#text').val('').focus();
});
HTML:
<textarea id='text'></textarea>
<input type='button' value='send' id='button'>
<div id='result'></div>
Here you go! jsFiddle - 编辑: - revised
答案 1 :(得分:2)
好吧,我有几分钟要杀人(等待IM回复),所以我想出了这种可能性,使用稍加修改的html:
<div id="box">
<ol id="chat"></ol>
</div>
<form action="#" method="post">
<textarea id='text'></textarea>
<input type='submit' value='send' id='button'>
</form>
<div id='result'></div>
和jQuery:
$('#button').click(
function(){
var text = $('#text').val();
$('<li />')
.text(text)
.appendTo('#chat');
$('#text').val('');
return false;
});
$('#text').keypress(
function(e){
if (e.keyCode == 13 && e.shiftKey == true){
// might be a better way to do 'nothing'...
}
else if (e.keyCode == 13) {
$('#button').click();
return false;
}
});
<小时/> 已编辑以链接到经过修改的演示(针对'经典IM'外观):JS Fiddle。