我有一個文本區域,我想限制文本區域中的每一行有20個字符的限制,任何解決方案?limitimg文字區域中的字符數量?
0
A
回答
-1
使用cols
屬性中的textarea
<textarea name=myText wrap=physical cols=20 rows=4></textarea>
更新:
<SCRIPT LANGUAGE="JavaScript">
function textCounter(field,maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
}
</script>
<body>
<textarea name=message wrap=physical cols=20 rows=4 onKeyDown="textCounter(this.form.message,125);" onKeyUp="textCounter(this.form.message,125);"></textarea>
</body>
1
不幸的是,除非你需要支持只有少數瀏覽器(這樣是不容易在JavaScript中執行一)。複雜的是,當確定新的按鍵事件是否應該實際上導致可打印字符被附加時,您必須知道textarea中的光標位置是否在不能接受任何新字符的行中。問題在於不同的瀏覽器有不同的方法來確定textarea中的光標位置。
如果建議使用jQuery和fieldSelection plugin並設置有問題的textarea的事件處理程序如下:
var maxChars = 20;
var textarea = document.form1.textarea;
textarea.onkeypress = function(ev) {
// Trim any lines with length > maxChars.
var lines = textarea.value.split(/\r?\n/);
for (var i=0; i<lines.length; i++) {
if (lines[i].length >= maxChars) {
lines[i] = lines[i].substr(0, maxChars);
}
}
textarea.value = lines.join("\n");
// Determine if the keypress event should succeed.
var keyPressZeroWidth = (ev.keyCode == 13) || //...
var keyPressWouldMakeLineTooLong = // fieldSelection usage here...
return keyPressZeroWidth || !keyPressWouldMakeLineTooLong;
};
相關問題
- 1. JQuery的文本區域字符數
- 2. 文本區域字符countDown
- 3. Tuleap - 增加文本區域字符
- 4. 2D區域中的未知字符
- 5. Firefox的文字區域
- 6. 使用JSON文件中的變量(字符串)填充文本區域
- 7. 域名的最大字符數量
- 8. 在C/C++中解析包含字母字符和區域字符(法語,俄語,中文)的字符串
- 9. 計數多行文本字符和文本區域
- 10. 數據未在文字區域
- 11. Javascript:替換文本區域中突出顯示的字符串?
- 12. 禁用文本區域中的一些特殊字符
- 13. 文字字符串和常量之間的區別
- 14. TinyMCE的新添加的文字區域
- 15. 將數據存儲區域的類型更改爲字符串中的文本?
- 16. 從引用字符串的變量中區分字符串參數
- 17. 文字區域中的角2多個字體顏色
- 18. jquery:文字字符串選擇符與變量選擇符的區別
- 19. XHTML和內部的文字區域
- 20. 2滾動的文字區域
- 21. 解析區域字符串語言
- 22. 用字符填充矩陣區域
- 23. VBA字符串轉換爲區域
- 24. 區域感知字符串比較
- 25. 區域獨立字符串加倍
- 26. 角度計算文字區中換行符的2個字符
- 27. 如何讓文字區域內的文字只有高達?
- 28. 掃描,字符串和文本區域的IProblems
- 29. 使用javascript檢測文本區域的字符集
- 30. 如何計算在多個文本區域剩餘的字符
它不會限制任何東西,它只會影響控制的呈現方式。即控制器的寬度。 – stefan 2011-02-26 07:12:08
這將檢查整個文本區域,我不會檢查每一行的最大長度 – user630209 2011-02-26 07:35:15