2013-04-05 60 views
0

我有一個可編輯的div和iFrame。我要求用戶不能輸入每行超過100個字符。用戶可以輸入無限多行,最多有100個字符。如何限制用戶在可編輯div或Iframe中輸入多於某些字符

此外,用戶可以返回到任何行,使用箭頭鍵並輸入更多的文本,以防該行少於100個字符。

如何執行此操作?

編輯: 這需要像用戶輸入的實時一樣。

+0

檢查這個什麼錯[文本區域](https://developer.mozilla.org/en-US/docs/HTML/HTML_Elements/textarea)? – 2013-04-05 11:22:06

+0

這可能有助於http://stackoverflow.com/questions/4448856/limiting-the-no-of-characters-in-a-div-has-specific-class – DSI 2013-04-05 11:23:05

+0

它是一個編輯器。 – 2013-04-05 11:23:31

回答

0
$('#mydivid').keypress(function(e){ 
    if($(this).html().length > 20) 
     e.preventDefault(); 
}) 

Fiddle

+0

我需要限制perline不是整個HTMl,也是實時 – 2013-04-05 11:28:12

0

你可以使用jQuery keyup事件檢查。

$('DIV ID').keyup(function(){ 
    data = $.trim($('DIV ID')).html().length; 

    if(data > 100) // or add condition as per your requirement 
    { 
    } 
    else 
{ 
    alert('Your message') 
} 
}); 
+0

我需要限制perline而不是整個HTMl,也是實時的。 – 2013-04-05 11:26:53

+0

將數據變量('data')轉換爲'for'循環後,是否可以將'data'變量傳遞給數組以將每行顯示爲值,我認爲我們可以限制用戶將文本輸入到特定長度。 它只是一個想法,只是敲了我的頭......我沒有經驗......請讓我知道,如果它的工作 – MaNKuR 2013-04-05 11:35:04

0
$(document).ready(function(){ 
var max_length = 100; 
$("#div-editable").keypress(function(){ 
    var return_state = true; 
    $(this).find("div").each(function(){ 
     if($(this).text().length >= max_length) 
     { 
      return_state = false; 
      //break; 
     } 
    }); 
    return return_state; 
}); 

});

只需更改max_length以滿足您的需求。

另外,如果您想允許在文本的開始和結束間隔,您可以使用修剪。

您可以在jsFiddle

+0

我需要限制perline不是整個HTMl,也是實時 – 2013-04-05 11:29:36

+0

@ BhumiSinghal剛發現帶contentEditable的div將新行分割爲div元素 – Burimi 2013-04-05 11:43:13

+0

這種情況只發生在Chrome中。不適用於FireFox,而在IE中,它們是beocme P標籤 – 2013-04-05 11:44:49

相關問題