首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在设置了MaxLength的文本字段中查找粘贴文本的长度

在设置了MaxLength的文本字段中查找粘贴文本的长度
EN

Stack Overflow用户
提问于 2014-09-10 16:49:19
回答 3查看 2.3K关注 0票数 1

我需要检查MaxLength设置为10的文本框中的文本长度。如果有人粘贴超过10个字符,则粘贴的文本将被裁剪为10个字符。如何检测粘贴的文本是否超过10个字符,并让用户知道“您的文本已被修剪”?

此外,如果有人粘贴我放置了一个警告框,它会触发onblur事件,该事件最先发生。我如何防止这种情况发生?

代码语言:javascript
运行
复制
<input type="text" id="txt" maxlength="10" onblur="checklength(event);" onpaste="pasted(this)">

function checklength(e)
{
alert('blurry ' + document.getElementById('txt').value.length);
e.cancelBubble=true;
}

function pasted(element) {
setTimeout(function(){
    alert(element.value.length);
}, 0);
}

enter link description here小提琴的开始

EN

回答 3

Stack Overflow用户

发布于 2014-09-10 16:52:35

查看javascript中的onpaste事件,您可以在分配给onpaste事件的函数中获取剪贴板文本,并对其进行相应的处理。

要在onpaste函数中获取剪贴板文本,您可以使用

代码语言:javascript
运行
复制
window.clipboardData.getData('Text')

如果长度大于255,则意味着它已被修剪,您可以向用户显示您的消息。

也许这个链接也能帮上忙。

JavaScript get clipboard data on paste event (Cross browser)

票数 3
EN

Stack Overflow用户

发布于 2014-09-10 16:54:35

在javascript中使用onpaste event

代码语言:javascript
运行
复制
var myElement = document.getElementById('input');

myElement.onpaste = function (e) {
    if (this.value.length > 255) {
        alert("text trimmed");
    } 
    this.value = this.value.substring(0, 255); //
}

DEMO

票数 1
EN

Stack Overflow用户

发布于 2014-09-10 17:07:20

也可以使用与javascript的onchange事件绑定的类似内容

代码语言:javascript
运行
复制
<input type="text" onchange="handleLength(this)"/>

function handleLength(ele){     
            if(ele.value.length>10){
            ele.value= ele.value.substring(0,10);
            alert("your text has been trimmed");        
            }
        }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25761058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档