Javascript 如何在输入标记空间中创建新行?
我想创建一个java脚本函数,当我在输入标记空间中按Enter键时,它会生成新行 我还希望,在创建新行时,输入标记空间的高度会动态拉伸Javascript 如何在输入标记空间中创建新行?,javascript,html,Javascript,Html,我想创建一个java脚本函数,当我在输入标记空间中按Enter键时,它会生成新行 我还希望,在创建新行时,输入标记空间的高度会动态拉伸 <!-- onkeydown function --> function Enter(){ if(event.keyCode === 13){ var element = document.getElementById("PostingArea"); <!-- I don't know here -->
<!-- onkeydown function -->
function Enter(){
if(event.keyCode === 13){
var element = document.getElementById("PostingArea");
<!-- I don't know here -->
}
}
<!-- html code -->
<input class="PostingArea" id="PostingArea" onkeydown="Enter()">
函数Enter(){
如果(event.keyCode===13){
var元素=document.getElementById(“PostingArea”);
}
}
使用textarea标记。可以提交使用textarea的多行文本。您需要使用textarea并指明您期望的行数,如下所示:
<textarea name="taText" cols="80" rows="25"></textarea>
尝试此更新版本
function onTestChange() {
var key = window.event.keyCode;
var el = document.getElementById("PostingArea");
var height = el.offsetHeight;
var newHeight = height + 20;
var value = el.val();
// If the user has pressed enter
if (key === 13) {
el.style.height = newHeight + 'px';
var newValue = value + '<br/>';
el.val(newValue)
return false;
}
if (event.keyCode == 8) {
el.style.height = newHeight - 'px';
var newValue = value - '<br/>';
el.val(newValue)
return false;
}
else {
return true;
}
}
<body>
<div id ="PostingArea" class="input-area" style="height:20px;" onkeypress="onTestChange()">
<input type="text" style="height:100%;" />
</div>
</body>
函数onTestChange(){
var key=window.event.keyCode;
var el=document.getElementById(“PostingArea”);
var高度=el离地高度;
var newHeight=高度+20;
var值=el.val();
//如果用户已按enter键
如果(键===13){
el.style.height=新高度+‘px’;
var newValue=value+'
';
el.val(新价值)
返回false;
}
如果(event.keyCode==8){
el.style.height=新高度-“px”;
var newValue=value-“
”;
el.val(新价值)
返回false;
}
否则{
返回true;
}
}
改用
。试试我的解决方案,它很有效。我认为textarea不能满足我的要求。当我按“回车”键时,它可以生成新行。但是,当光标到达textarea空格的末尾时,我按下“Enter”键,它只会生成一个滚动条。它不能使高度变长。谢谢。它执行得很好。但是它不能动态地使高度变长..你是说文本区域的换行符的高度?或者当他们退格时,它会减少删除/n?我添加了照片来更具体地描述。当我按“回车”键时,它会生成新行并增加文本区域的高度。但按“backspace”键,它会删除行并降低文本区域的高度。您可以用此代码进行测试吗。我还没有测试过。一定要给我反馈,这样我才能提供帮助。干得好!但是,它不需要。因为这是textarea标签的基本功能。我想功能调整文本区域空间高度,而不是滚动条。所以我想使用输入标记而不是textarea。因为,textarea标签基本上都有滚动条。