使用两个输入看起来像textarea

Use two inputs to look like textarea

本文关键字:输入 看起来 textarea 两个      更新时间:2023-09-26

我试过自己解决这个问题,但我一直在努力。粘在一起的我有5个输入(它们实际上看起来像一个文本区域),和我想做什么,是修复限制每个输入的字符数,当我们到达字符限制,光标自动关注下一个输入和粘贴最后一句话,我们不能完全写在最后输入之前如果我们删除这个词的几个字符,其回到前面的输入(只有在字符限制不是达到)。下面是我尝试做的:

function passage(enCours, suivant, limite){
      if (enCours.value.length == limite)
        {
          $('#cmzTextLines'+suivant).focus();
        }
}
function test(now, suivant){
    var text = $('#cmzTextLines'+now).val();
    var textSuivant = $('#cmzTextLines'+suivant).val();
    //var lines = text.split("'n");
      for (var i = 0; i < text.length; i++) {
        if (text[i].length <= maxLength) continue;
        var j = 0; space = maxLength;
        while (j++ <= maxLength) {
          if (text[i].charAt(j) === " ") space = j;
        }
       textSuivant = text[i].substring(space + 1) + (textSuivant || "");
       text[i] = text[i].substring(0, space);
      }
}
HTML:

<input type="text" class="form-control" id="cmzTextLines1" name="cmzTextLines1" onkeyup="passage(this, 2, 30); test(1, 2);">
<input type="text" class="form-control" id="cmzTextLines2" name="cmzTextLines2"
 onkeyup="passage(this, 3, 30); test(2, 3);">

JSFiddle: https://jsfiddle.net/fumm44f3/2/

var replacedval = rawval.substring(0, rawval.length - lastwordlength);
$(this).val(replacedval);
$(this).next(".form-control").val(lastword);

从这里检查一个输入是否有0个字符退格就足够简单了,因为它已经检查了退格,如果是,然后转到prev输入