How To Set TextArea Max Length
<html>
<head>
<script type="text/javascript" language="javascript">
function chkLength(evt,len)
{
var str = document.getElementById(evt.id);
if(str.value.length < len)
{
return true;
}
else
{
return false;
}
}
</script>
</head>
<body>
<textarea id="txtArea" rows=5 cols=40 onkeypress="return chkLength(this,100);" ></textarea>
</body>Program DemoNote:IE Supported
4 comments:
Nice, make sure you check onpaste also:
scripts:
// Keep user from entering more than maxLength characters
function maxLength(field,maxChars)
{
return (field.value.length <= maxChars);
}
// Keep user from entering more than maxLength pasted characters
function maxLengthPaste(field,maxChars)
{
event.returnValue=false;
if((field.value.length + window.clipboardData.getData("Text").length) > maxChars)
{
return false;
}
event.returnValue=true;
}
Then add these to the textarea:
onKeyPress="return maxLength(this,'255');" onpaste="return maxLengthPaste(this,'255');"
Minor change to the scripts:
// Keep user from entering more than maxLength characters
function maxLength(field,maxChars)
{
return (field.value.length < maxChars);
}
// Keep user from entering more than maxLength pasted characters
function maxLengthPaste(field,maxChars)
{
event.returnValue=false;
if((field.value.length + window.clipboardData.getData("Text").length) > maxChars)
{
return false;
}
event.returnValue=true;
}
Great Work Friend
One problem, however. What do you do when the user finds out he/she has typed too much and wants to go back and edit what was written? Every key press after this is being ignored.
You could substring the field but that would allow the user to see the last typed char a bit before it disappears, so a more proper way is needed
Post a Comment