Advertisement

10.29.2003 at 01:05AM PST, ID: 20781420
[x]
Attachment Details
[x]
The Solution Rating System

With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.

  • The Grade of the Solution
  • The Zone Rank of the Expert Providing the Solution
  • The Number of Author and Expert Comments
  • The Number of Experts Contributing
  • The Feedback of the Community

Your Input Matters
Because of the way the system is set up, the most important variable in this equation is you. As a member of Experts Exchange, you are able to cast your vote on the quality of the solutions in regard to how complete, accurate, helpful and easy to understand each solution is. When you provide your feedback, each rating is adjusted accordingly. So, if you see a solution that has a poor rating that you think is a good solution, let us know by rating it. As you do, the rating will be adjusted and will become more accurate for other members of our site.

If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support.

Thank you!

set Maxlength to TextArea

Tags: textarea, maxlength, length
Hi
I am using Textarea type.I want to set maximum length to the textarea.
I am using following code for the same,but it is not working,
<textarea name="txtDescription" cols=10 rows=3 maxlength=50></textarea>
But it is not working,it takes chars beyond 50 also.
Help me inthe same

Start your free trial to view this solution
Question Stats
Zone: Web Development
Question Asked By: chitramahadik
Solution Provided By: DelTreme
Participating Experts: 9
Solution Grade: B
Views: 837
Translate:
Loading Advertisement...
10.29.2003 at 02:14AM PST, ID: 9640628

Rank: Sage

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
10.29.2003 at 02:21AM PST, ID: 9640658

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
10.29.2003 at 02:27AM PST, ID: 9640681

Rank: Sage

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
10.30.2003 at 02:24AM PST, ID: 9648918

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
06.07.2004 at 01:06PM PDT, ID: 11252970

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
07.13.2004 at 11:41AM PDT, ID: 11541955

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
09.03.2004 at 10:33AM PDT, ID: 11975224

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
12.16.2004 at 03:02AM PST, ID: 12839037

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
03.04.2005 at 06:00AM PST, ID: 13458808

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
03.04.2005 at 06:07AM PST, ID: 13458868

Rank: Sage

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
08.10.2005 at 01:21PM PDT, ID: 14646093

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
08.10.2005 at 01:22PM PDT, ID: 14646099

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
08.22.2005 at 01:10PM PDT, ID: 14728033

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
 
Loading Advertisement...
Microsoft
  • Internet Protocols
  • Applications
  • Development
  • OS
  • Hardware
  • Windows Security
Apple
  • Operating Systems
  • Hardware
  • Programming
  • Networking
  • Software
Internet
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Spy / Ad Blockers
  • Web Browsers
  • New Net Users
  • Web Development
  • Chat / IM
  • Anti Spam
  • Web Servers
  • Anti-Virus
  • Email Clients
Gamers
  • Tips
  • Online / MMORPG
  • Puzzle
  • Emulators
  • Action / Adventure
  • Role Playing
  • Consoles
  • Game Programming
  • Strategy
  • Sports
  • Misc
  • Computer Games
Digital Living
  • Hardware
  • New Net Users
  • New Users
  • Software
  • Digital Music
  • Gaming World
  • Home Security
  • Apple
  • Networking Hardware
Virus & Spyware
  • Vulnerabilities
  • IDS
  • Encryption
  • Anti-Virus
  • Operating Systems Security
  • Software Firewalls
  • WebApplications
  • Cell Phones
  • Operating Systems
  • Internet
  • Hardware Firewalls
Hardware
  • Handhelds / PDAs
  • Displays / Monitors
  • Components
  • Networking Hardware
  • Peripherals
  • Laptops/Notebooks
  • Storage
  • Servers
  • Desktops
  • New Users
  • Misc
  • Apple
Software
  • System Utilities
  • Industry Specific
  • Network Management
  • Photos / Graphics
  • Page Layout
  • VMWare
  • Misc
  • Web Development
  • OS
  • CYGWIN
  • Voice Recognition
  • Message Queue
  • Quality Assurance
  • Security
  • Firewalls
  • MultiMedia Applications
  • Development
  • Database
  • Office / Productivity
  • Business Management
  • OS/2 Apps
  • Server Software
  • Internet / Email
ITPro
  • OS
  • Storage
  • Encryption
  • Operating Systems Security
  • Apple Hardware
  • Laptops & Notebooks
  • Servers
  • Networking Hardware
  • Peripherals
  • Devices
  • Displays / Monitors
  • WebTrends / Stats
  • Search Engines
  • Firewalls
  • WebApplications
  • IDS
  • Vulnerabilities
  • Email Clients
  • File Sharing
  • Spy / Ad Blockers
  • Web Browsers
  • Web Servers
  • Networking
  • Anti-Virus
  • Chat / IM
  • Anti Spam
Developer
  • Web Servers
  • Web Browsers
  • Game Programming
  • Dev Tools
  • Industry Specific
  • Office / Productivity
  • Database
  • CYGWIN
  • Web Development
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Programming
  • Content Management
  • Application Servers
  • Protocols
Storage
  • Removable Backup Media
  • Storage Technology
  • Servers
  • Grid
  • Remote Access
  • Backup / Restore
  • Misc
  • Hard Drives
OS
  • Miscellaneous
  • Security
  • Development
  • Linux
  • VMWare
  • MainFrame OS
  • Unix
  • Apple
  • OS / 2
  • AS / 400
  • BeOS
  • Microsoft
  • VMS / OpenVMS
Database
  • Oracle
  • Miscellaneous
  • MySQL
  • Software
  • Sybase
  • Contact Management
  • PostgreSQL
  • Data Manipulation
  • Clarion
  • InterSystems Cache
  • Siebel
  • MUMPS
  • OLAP
  • SQLBase
  • SAS
  • GIS & GPS
  • 4GL
  • Berkeley DB
  • DB2
  • Informix
  • Interbase / Firebird
  • FoxPro
  • Reporting
  • LDAP
  • Filemaker Pro
  • MS SQL Server
  • dBase
  • MS Access
Security
  • Misc
  • Web Browsers
  • Software Firewalls
  • Operating Systems Security
  • File Sharing
  • Spy / Ad Blockers
  • Vulnerabilities
  • WebApplications
  • IDS
  • Anti-Virus
  • Encryption
  • Anti Spam
  • Email Clients
  • VPN
  • Chat / IM
Programming
  • Editors IDEs
  • Installation
  • Handhelds / PDAs
  • Multimedia Programming
  • System / Kernel
  • Algorithms
  • Game
  • Signal Processing
  • Project Management
  • Open Source
  • Database
  • Misc
  • Languages
  • Processor Platforms
  • Theory
Web Development
  • Scripting
  • Blogs
  • Web Servers
  • Software
  • Search Engines
  • Web Graphics
  • Images
  • Internet Marketing
  • Images and Photos
  • Components
  • Document Imaging
  • Web Languages/Standards
  • Illustration
  • WebApplications
  • Fonts
  • WebTrends / Stats
  • Authoring
  • Digital Camera Software
  • Miscellaneous
Networking
  • Protocols
  • Apple Networking
  • Network Management
  • Message Queue
  • Application Servers
  • Content Management
  • File Servers
  • Email Servers
  • Misc
  • Java Editors & IDEs
  • Wireless
  • Networking Hardware
  • Backup / Restore
  • System Utilities
  • ISPs & Hosting
  • Web Servers
  • Storage Technology
  • Removable Backup Media
  • Servers
  • Broadband
  • Grid
  • OS / 2
  • Novell Netware
  • Unix Networking
  • Windows Networking
  • Security
  • Telecommunications
  • Operating Systems
  • Linux Networking
Other
  • Community Advisor
  • Lounge
  • Community Support
  • New Net Users
  • Philosophy / Religion
  • Math / Science
  • Miscellaneous
  • URLs
  • Expert Lounge
  • Politics
  • Puzzles / Riddles
Community Support
  • Suggestions
  • New to EE
  • New Topics
  • Community Advisor
  • CleanUp
  • Announcements
  • General
  • Feedback
  • Input
  • EE Bugs
 
10.29.2003 at 02:14AM PST, ID: 9640628

Rank: Sage

Hi, you're best bet is to set this in a basic javscript function, like so:

<html>
<head>
<title>Category</title>
<script language="javascript" type="text/javascript">
<!--
function validate() {
      maxlength=50;
      if(document.myForm.theTextArea.value.length>=maxlength) {
            alert('Your comments must be 50 characters or less');
            document.myForm.theTextArea.focus();
            return false;
      } else {
            return true;
      }
}
//-->
</script>
</head>

<form name="myForm" onsubmit="return validate();">
Comments:

<textarea name="theTextArea" cols="10" rows="3"></textarea>


</form>
</body>
</html>


How to Customize
============

Make sure that you change the following 2 values to suit your page, both in the javascript, and the form:

1. myForm
2. theTextArea

If the name of your form is hello and the name of your text area is goodbye, then the code above would be:

function validate() {
      maxlength=50;
      if(document.hello.goodbye.value.length>=maxlength) {
            alert('Your comments must be 50 characters or less');
            document.hello.goodbye.focus();
            return false;
      } else {
            return true;
      }
}

and

<form name="hello" onsubmit="return validate();">
Comments:

<textarea name="goodbye" cols="10" rows="3"></textarea>


</form>

Thanks
 
10.29.2003 at 02:21AM PST, ID: 9640658
Hi,I knew it can work instead if I called the same javascript function onChange event of TExtarea ,it will work but I can't specify maxlength=50 to TextArea object,the same is working for Text object.
 
10.29.2003 at 02:27AM PST, ID: 9640681

Rank: Sage

That's because the textarea object does not use the "maxlength" property. It only supports the attributes: columns, rows, and name.
 
10.30.2003 at 02:24AM PST, ID: 9648918
I've got a script to add the MaxLength property to the TEXTAREA tag (I didn't write it, found it somewhere on the net):

You'll need a file, called     maxlength.htc (code below)    wich adds a behaviour to the TextArea tag.

In your stylesheet, add:

TEXTAREA { behavior: url(maxlength.htc);}

From that point on, you can use
<TEXTAREA MAXLENGTH=50></TEXTAREA>
Whereever you want.

---code for maxlength.htc---


      


      


      


      



<SCRIPT language="JScript">
// Keep user from entering more than maxLength characters
function doKeypress(){
      if(maxLength && value.length > maxLength-1){
            event.returnValue = false;
            maxLength = parseInt(maxLength);
      }
}
// Cancel default behavior
function doBeforePaste(){
      if(maxLength)
            event.returnValue = false;
}
// Cancel default behavior and create a new paste routine
function doPaste(){
      if(maxLength){
            event.returnValue = false;
            maxLength = parseInt(maxLength);
            var oTR = element.document.selection.createRange();
            var iInsertLength = maxLength - value.length + oTR.text.length;
            var sData = window.clipboardData.getData("Text").substr(0,iInsertLength);
            oTR.text = sData;
      }
}
</SCRIPT>

</PUBLIC:COMPONENT>

Accepted Solution
 
06.07.2004 at 01:06PM PDT, ID: 11252970
I assume that is an IE-only solution (Tested in Mozilla Firefox).

Neat trick tho'
 
07.13.2004 at 11:41AM PDT, ID: 11541955
I could not make this work using IE6/javascript. Maybe I am doing something wrong.

Added the line to the css as above to add the behavior to TEXTAREA.

Added the htc file with the code from above - just changed the SCRIPT LANGUAGE = Javascript.

Used the input tag as <TEXTAREA MAXLENGTH=5> as a test.

It just doesn't do anything.

 
09.03.2004 at 10:33AM PDT, ID: 11975224
I found this on the net, and it seems to fix the problems described herein:

<script language="jscript">
function LimitMultiLineLength(obj)
{
 var iKey;
var eAny_Event = window.event;
iKey = eAny_Event.keyCode;
var re
re = new RegExp("\r\n","g")  
x = obj.value.replace(re,"").length ;
if ((x >= obj.maxLength) && ((iKey > 33 && iKey < 255) || (iKey > 95 && iKey < 106)) && (iKey != 13))
{
if (obj.ErrorMessage )
{
alert(obj.ErrorMessage);
}
window.event.returnValue=false;       
}
}
</script>

called like this:

<textarea name="name" id="name" onkeypress="LimitMultiLineLength(this)" onbeforepaste="LimitMultiLineLength(this)" maxLength="255" ErrorMessage="The maximum allowance of 255 characters has been reached." style="height:108px;width:400px;"></textarea>
 
12.16.2004 at 03:02AM PST, ID: 12839037
there is no property like maxlengh in textarea u can use javascript for check this
code for this
<script language="javascript">
var text1;
function checklength(i)
{
var txt;
txt=document.form.textarea1.value;
n=txt.length;
if (n>i) //i is the maxlength of textarea which we have set to 80
{
alert('Text overflow');
document.form.textarea1.value=text1;
return;
}
text1=document.form.textarea1.value;
}
</script>


<form>
<textarea name=textarea1 onkeydown="javascript:checklength(80)"></textarea>

</form>
</body>


I think this will help u.
 
03.04.2005 at 06:00AM PST, ID: 13458808
The validate() works like a charm.  Thank you!  Now what if the form contains more than one textarea? I attempted to add additional variables to the script but I'm certain I have the syntax wrong:

<script language="javascript" type="text/javascript">
<!--
function validate() {
     maxlength=200;
     if(document.form.comments1.value.length>=maxlength) {
          alert('Your comments must be 200 characters or less');
          document.form.comments1.focus();
          return false;
     } else {
          return true;
     }
}
function validate1() {
     maxlength=200;
     if(document.form.comments2.value.length>=maxlength) {
          alert('Your comments must be 200 characters or less');
          document.form.comments2.focus();
          return false;
     } else {
          return true;
     }
}
function validate2() {
     maxlength=200;
     if(document.form.comments3.value.length>=maxlength) {
          alert('Your comments must be 200 characters or less');
          document.form.comments3.focus();
          return false;
     } else {
          return true;
     }
}
//-->
</script>

AND THEN IN THE FORM TAG, I CALLED IT AS SUCH:

onsubmit="return validate(); return validate1(); return validate2()"

Since it doesn't work I'm sure I've got it wrong.  Can you take it one step further and advise as to the correct syntax?  Will this even work with more than one textarea field?

Thank you!
 
03.04.2005 at 06:07AM PST, ID: 13458868

Rank: Sage

Hi biffsmith,

You'll need to cerate a new question for this.

Thanks,
Sean Powell
HTML PAge Editor
 
08.10.2005 at 01:21PM PDT, ID: 14646093
Hey, I know this one's already solved, but I have an alternative solution that I feel is better for a few reasons.  

#1 It's re-usable for all text areas via one function
#2 It doesn't inform teh user that he/she is typing too many characters, it prevents them from doing so, sort of like maxlength

There's a downside: the user can see the typed character for an instand prior to the removal.

Here's the function:

function CheckMaxLength(Object, MaxLen)
{
  if(Object.value.length > MaxLen)
  {      
    Object.value = Object.value.substring(0, MaxLen);
  }
}

And the implementation:
<textarea name="Responsibilities" onkeyup="CheckMaxLength(this, 15);"><textarea>


Passing the form object and using it's methods.  Pretty simply and painless.


 
 
08.10.2005 at 01:22PM PDT, ID: 14646099
Oh, that answered both questions too!!!

I know, I'm too late, but I think it's still the best way to do it, if not, please let me know a better one.

Thx.
 
08.22.2005 at 01:10PM PDT, ID: 14728033
This is a little cleaner - it imposes the length limit by cancelling the extra keypresses rather than using the substring() trick --

function imposeMaxLength(Object, MaxLen)
{
  return (Object.value.length <= MaxLen);
}

Implementation:


<textarea name="myName" onkeypress="return imposeMaxLength(this, 15);" ><textarea>
 
 
20080236-EE-VQP-29