文本区域最大长度属性无法在所有浏览器中正常工作
Textarea maxlength attribute not working correctly across all browsers
我想将文本区域限制为 500 个字符。为此,我使用了maxlength属性,但是不同浏览器之间存在一些兼容性问题。为了解决这个问题,我使用了一个javascript函数
function checkLength(fieldName,limit){
if(fieldName.value.length >= limit){
fieldName.value = fieldName.value.substring(0,limit);
}
}
我在KeyDown和OnKeyUp上的两个事件上调用此函数。这在一定程度上解决了我的问题,但是当我复制并粘贴长度超过 500 个字符的字符串时,它会显示所有文本,然后在键向上时修剪为 500。有没有办法在复制粘贴闪烁时显示正好 500 个字符。
如果您愿意使用 jquery,那么这里有解决方案可以解决您的整个问题:
脚本:
$('textarea').on('paste keyup keydown', function (event) {
var element = this;
setTimeout(function () {
if($(element).val().length > 500)
{
if(event.type=="paste"){
$(element).val($(element).val().substr(0,500))
}else{
$(element).val($(element).val().slice(0,-1));
}
alert("excceded more then 500 characters");
}else{
return true;
}
}, 100);
});
在此处查看演示:http://jsfiddle.net/2Qxh9/
你可以尝试这样的事情:
<script language="javascript" type="text/javascript">
function limitText(limitField, limitCount, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
alert("your message exceeds the limit");
} else {
limitCount.value = limitNum - limitField.value.length;
}
}
</script>
<form name="myform" action="">
<textarea id="t1" name="description" onpropertychange="limitText(this.form.description,this.form.countdown,500);" OnInput="limitText(this.form.description,this.form.countdown,500);" onKeyDown="limitText(this.form.description,this.form.countdown,500);" rows="20" cols="40">
</textarea><br>
<font size="1">(Maximum characters: 500)<br>
You have <input readonly type="text" name="countdown" size="3" value="10"> characters left.</font>
</form>
相关文章:
- 如何使用modalDialog来显示可以在所有浏览器中工作的弹出窗口
- 如何隐藏空<span>在IE中使用javascript.(注意,在其他浏览器中工作正常)
- Javascript字母选择没有'我不能在谷歌浏览器上工作
- 我如何使HTML5<输入类型=月份>以在所有浏览器上工作
- 我的时间倒计时脚本在谷歌浏览器中工作正常,但在其他浏览器中打开时它显示为南楠
- Json到CSV下载,可以在chrome中工作,但不能在IE浏览器中工作
- 有没有人能够得到这个要求或调试NPM模块在浏览器中工作
- 为什么不是't my css `content:`在多个浏览器中工作,并总体上提高跨浏览器兼容性
- 无法从IE中的data.responseText获取结果,但在其他浏览器中工作
- 安卓版本的代码不像桌面互联网浏览器那样工作
- toLocaleString()不会'无法在Safari浏览器中工作
- 索引在IE中导致错误;在其他浏览器中工作
- 使用jQuery在焦点上选择文本框是't在移动浏览器中工作
- Sencha Touch、Apigee JS SDK和Phonegap可以在浏览器中工作,但不能在IOS中工作
- 如何使此应用程序与移动浏览器协同工作
- 可以'不要让HTML5音频标签在移动浏览器上工作
- angularjs注射器无法在移动浏览器中工作
- 简单的jquery幻灯片切换;不能在任何浏览器中工作
- 柴发现浏览器没有工作
- 使节点.js代码在浏览器中工作