【发布时间】:2010-08-16 08:28:10
【问题描述】:
我想设置文本区域的最大长度。我正在使用以下代码,但它不起作用,
<textarea name="txtDescription" cols=10 rows=3 maxlength=50></textarea>
但它不起作用,它需要超过 50 个字符。
【问题讨论】:
标签: html
我想设置文本区域的最大长度。我正在使用以下代码,但它不起作用,
<textarea name="txtDescription" cols=10 rows=3 maxlength=50></textarea>
但它不起作用,它需要超过 50 个字符。
【问题讨论】:
标签: html
没有为textarea 定义maxlength 属性。你需要implement这个using javascript。
【讨论】:
是的 maxlength 在 textarea 中不起作用。但是你可以像这样使用 jQuery:
var $limitNum = 500;
$('textarea[name="textarea_name"]').keydown(function() {
var $this = $(this);
if ($this.val().length > $limitNum) {
$this.val($this.val().substring(0, $limitNum));
}
});
【讨论】:
我在 textarea 中尝试了 maxlength,但没有正确计算字符数(也计算 EOL)。
我使用max_length 属性而不是普通的maxlength。
HTML:
<textarea name="whatever" max_length="100"></textarea>
JS:
$('textarea').keyup(function(){
var maxlength = parseInt($(this).attr('max_length')),
text = $(this).val(),
eol = text.match(/(\r\n|\n|\r)/g),
count_eol = $.isArray(eol) ? eol.length : 0,//error if eol is null
count_chars = text.length - count_eol;
if (maxlength && count_chars > maxlength)
$(this).val(text.substring(0, maxlength + count_eol));
});
【讨论】:
当 Darin Dimitrov 的答案在 2010 年发布时,maxlength 属性显然没有实现。
没错,2018 年,就是这样。
来源
示例
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<div class="container">
<label for="without">Without maxlength</label>
<textarea id="without" class="form-control"></textarea>
<br>
<label for="with">With maxlength="10"</label>
<textarea id="with" maxlength="10" class="form-control"></textarea>
</div>
【讨论】:
以上答案对于早期版本的 IE 10 是正确的。
如果您对 maxlength 属性有疑问,我的建议是先检查您的浏览器版本。 maxlength 属性是 HTML5 中标签的新属性。在 IE 10+ 或 Chrome 上应该没问题。
【讨论】:
textarea 的 Maxlength 属性在 Chrome 中有效。
【讨论】:
你可以使用
<textarea name="testString" onkeypress="if (this.value.length >= 250) { return false; }"id="" cols="30" rows="10" maxlength="250"></textarea>
【讨论】:
你需要像这样把它放到HTML标签中,确保你有空引号“”。
<textarea maxlength="5"></textarea>
【讨论】:
这适用于 Ruby on Rails:
:maxlength => "10"
代码示例:
<%= text_area 'order', 'special_instructions_display', :size => "85x7", :maxlength => "10" %>
【讨论】:
请参考jquery
<script type="text/javascript">
$().ready(function(){
$("#textareaId").attr('maxlength','20');
});
</script>
【讨论】: