Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在输入标记空间中创建新行?_Javascript_Html - Fatal编程技术网

Javascript 如何在输入标记空间中创建新行?

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 -->

我想创建一个java脚本函数,当我在输入标记空间中按Enter键时,它会生成新行

我还希望,在创建新行时,输入标记空间的高度会动态拉伸

<!-- 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标签基本上都有滚动条。