Want to limit the amount of text a user can enter in particular INPUT or TEXTAREA elements? Well, this script enables not only that, but displays in real time the number of characters remaining. An extremely practical and useful script that functions in both IE4+ and NS6+!
<html> <head> <script> /* Form field Limiter script- By Dynamic Drive For full source code and more DHTML scripts, visit http://www.dynamicdrive.com This credit MUST stay intact for use */ var ns6=document.getElementById&&!document.all function restrictinput(maxlength,e,placeholder){ if (window.event&&event.srcElement.value.length>=maxlength) return false else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){ var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys if (pressedkey.test(String.fromCharCode(e.which))) e.stopPropagation() } } function countlimit(maxlength,e,placeholder){ var theform=eval(placeholder) var lengthleft=maxlength-theform.value.length var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder) if (window.event||e.target&&e.target==eval(placeholder)){ if (lengthleft<0) theform.value=theform.value.substring(0,maxlength) placeholderobj.innerHTML=lengthleft } } function displaylimit(theform,thelimit){ var limit_text='<b><span id="'+theform.toString()+'">'+thelimit+'</span></b> characters remaining on your input limit' if (document.all||ns6) document.write(limit_text) if (document.all){ eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)} eval(theform).onkeyup=function(){ countlimit(thelimit,event,theform)} } else if (ns6){ document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true); document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true); } } </script> </head> <body> <form name="sampleform"> <input type="text" name="george" size=20><br> <script> displaylimit("document.sampleform.george",5) </script> <p> <textarea name="john" cols=25 rows=15></textarea><br> <script> displaylimit("document.sampleform.john",10) </script> </form> </body> </html> ----- Original Message ----- From: "Tom Ferguson" <[EMAIL PROTECTED]> To: "Multiple recipients of list witango-talk" <[EMAIL PROTECTED]> Sent: Thursday, October 31, 2002 11:04 AM Subject: Witango-Talk: OT: Javascript assistance needed > Does one of the JavaScript gurus have an example of limiting a <textarea> > tag to a certain number of allowable characters as input? > > Any assistance would be welcome. > > TIA > > Thomas Ferguson > Vice President > Enroll DR, LLC > [EMAIL PROTECTED] > > www.enrolldr.com > > ________________________________________________________________________ > TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED] > with unsubscribe witango-talk in the message body ________________________________________________________________________ TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED] with unsubscribe witango-talk in the message body
