2016-06-28 64 views
1

我試圖解決這個由我自己,但我一直在掙扎了很多。 我有5個粘在一起的輸入(它們實際上看起來像一個textarea),我試圖做的是修復每個輸入中字符數量的限制,並且當我們達到字符數限制,光標會自動將焦點放在下一個輸入上,然後粘貼上一個輸入中最後一個輸入不能完全寫入的最後一個單詞,如果我們刪除了該單詞的幾個字符,它將返回到上一個輸入(僅當字符限制isn沒有達到)。 這裏就是我試圖做的:使用兩個輸入看起來像textarea

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);"> 
+0

可能重複[聚焦下一次輸入一次達到最大長度值](http://stackoverflow.com/questions/15595652/focus-next-input-onput-接近 - 最大長度值) –

+1

是的,這實際上對我的工作代碼,但是我無法做到的是削減最後一個單詞,例如讓我說我一直在寫「早上好」,而且輸入只能保存8個字符,所以我想在第一個字符中有「好」的字符輸入和「第二上午」而不是「好mor」「寧」。 –

回答

0

的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輸入。

相關問題