我需要检查MaxLength设置为10的文本框中的文本长度。如果有人粘贴超过10个字符,则粘贴的文本将被裁剪为10个字符。如何检测粘贴的文本是否超过10个字符,并让用户知道“您的文本已被修剪”?
此外,如果有人粘贴我放置了一个警告框,它会触发onblur事件,该事件最先发生。我如何防止这种情况发生?
<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小提琴的开始
发布于 2014-09-10 16:52:35
查看javascript中的onpaste事件,您可以在分配给onpaste事件的函数中获取剪贴板文本,并对其进行相应的处理。
要在onpaste函数中获取剪贴板文本,您可以使用
window.clipboardData.getData('Text')如果长度大于255,则意味着它已被修剪,您可以向用户显示您的消息。
也许这个链接也能帮上忙。
JavaScript get clipboard data on paste event (Cross browser)
发布于 2014-09-10 16:54:35
在javascript中使用onpaste event
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
发布于 2014-09-10 17:07:20
也可以使用与javascript的onchange事件绑定的类似内容
<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");
}
}https://stackoverflow.com/questions/25761058
复制相似问题