jQuery: 回车后textarea如何保持原位?

jQuery: How Do I Make textarea Stay In The Same Position After I Press Enter?

我们了解了问题的第一部分,但是,如果我没有输入足够长的消息,我希望我的代码与以前保持在同一行。

我要说的是:

$(document).ready(function() {
  var para = $('#UserInput');
  $('textarea').keyup(function(e){
    var length = this.value.length; 
    var newval =  this.value.replace(/(?:\r\n|\r|\n)/g, '<br />');
    if (e.keyCode == 13 && length > 6 ){ 
        para.append(newval);
            this.value = "";
    }
    if (e.keyCode == 13 && length < 6){ 
        alert("Not long enough!"); 
    }
    });
});

例如,如果我输入 He,但是,我打算输入 Hello 结果如下:

He \"Alert Message"
llo \"Prints 'He' on the first line and 'llo' on the second line, if I don't backspace."

预期结果:

He \"Alert Message"
Hello \(ON THE SAME LINE) "Prints 'Hello' on the first line"

尝试用 var length = this.value 代替 $("textarea").length 来存储 textarea value.length;更正 if 条件下的语法错误;首先 if> 替换为 <,在第二个 if 条件

中将 < 替换为 >

$(document).ready(function() {
  var para = $('#UserInput');
  $('textarea').keyup(function(e) {
    var val = this.value;
    var length = val.length; 
    var newval =  val.replace(/(?:\r\n|\r|\n)/g, "");
    if (e.keyCode == 13 && length < 5) { 
        para.append(newval);
            this.value = "";
    }
    if (length < 5) { 
        alert("Not long enough!"); 
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<p id="UserInput"></p>
<hr id="LineOne">
<textarea maxlength="100"; minlength="5"; placeholder="Type Message Here:">
</textarea>