[Beschreibung]
Mit Hilfe dieses Scripts können Sie die Anzahl Zeichen, die in Formulare eingegeben werden können, beschränken.
[Kompatibilität]
[Code]
<script LANGUAGE="JavaScript">
<!-- Original: Jeff Harding (jbh@site-ations.com ) --> <!-- Web Site: http://site-ations.com --> <!-- Begin oldvalue1=0; oldvalue2=0; oldvalue3=0;
function textCounterMulti(cntnum,toplimit,field1,field2,field3) { var gtposition = new Array() var ltposition = new Array() var tagtext = new Array() tagtext[0]=0;
var total_length=(field1.value.length+field2.value.length+field3.value.length); var actual_length=(field1.value.length+field2.value.length+field3.value.length); var totalstring=(field1.value+field2.value+field3.value);
// find how many less than signs we have
lt='1'; opencount = 0; opos = totalstring.indexOf("<"); while ( opos != -1 ) { opencount++; ltposition[lt]=totalstring.indexOf("<",opos); opos = totalstring.indexOf("<",opos+1); total_length=ltposition[lt]; lt++ }
gt='1' closecount = 0; cpos = totalstring.indexOf(">"); while ( cpos != -1 ) { closecount++; gtposition[gt]=totalstring.indexOf(">",cpos); cpos = totalstring.indexOf(">",cpos+1); gt++ }
for(tt=1;tt<=opencount;tt++){ //alert(gtposition[tt]+" is the position of closer # "+tt); if (closecount == opencount){ //alert(tt); tagtext[tt]=((gtposition[tt]+1)-(ltposition[tt])) //alert(tagtext[tt]) if(tt>1){ tagtext[tt]=(tagtext[tt-1]+tagtext[tt]) //alert(tagtext[tt]) document.headermaker.textintags.value=tagtext[tt]; } } } total_length=(actual_length-tagtext[opencount]); if((closecount=='0')&(opencount!='0')){ total_length=actual_length-(actual_length-ltposition[opencount]); } if((closecount<opencount)&(closecount!='0')){ insideopencount=opencount-1; //alert(tagtext[closecount]+"\n"+tagtext[opencount]) total_length=1//actual_length-tagtext[insideopencount]((actual_length-ltposition[opencount])); } if((closecount=='0')&(opencount=='0')){
total_length=actual_length; } //alert(actual_length-(actual_length-ltposition[opencount])) var maxvalue1 = ((toplimit)-((field2.value.length)+(field3.value.length))+(tagtext[opencount])); var maxvalue2 = ((toplimit)-((field1.value.length)+(field3.value.length))+(tagtext[opencount])); var maxvalue3 = ((toplimit)-((field1.value.length)+(field2.value.length))+(tagtext[opencount])); //alert(field3.value.length+", "+toplimit)
/*
if ((field1.value.length > maxvalue1)&(toplimit!='0')&(oldvalue1 != field1.value.length)){ alert(field1.value.length+" is the length, the last gt sign is at "+field1.value.lastIndexOf(">")+" and the character at the end is "+field1.value.charAt(field1.value.length-1);) field1.value.value = field1.value.substring(0, maxvalue1); oldvalue1=field1.value.length; oldvalue2=field2.value.length; oldvalue3=field3.value.length;
}else if ((field2.value.length > maxvalue2)&(toplimit!='0')&(oldvalue2 != field2.value.length)){ field2.value.value = field2.value.substring(0, maxvalue2); oldvalue1=field1.value.length; oldvalue2=field2.value.length; oldvalue3=field3.value.length;
}else if ((field3.value.length > maxvalue3)&(toplimit!='0')&(oldvalue3 != field3.value.length)){
field3.value.value = field3.value.substring(0, maxvalue3); oldvalue1=field1.value.length; oldvalue2=field2.value.length; oldvalue3=field3.value.length;
// otherwise, update 'characters left' counter }else{*/
if ((field1.value.length > maxvalue1)&(toplimit!='0')&(oldvalue1 != field1.value.length)){ //alert(field1.value.length+" is the length, the last gt sign is at "+field1.value.lastIndexOf(">")+" and the character at the end is "+field1.value.charAt(field1.value.length-1)) if(field1.value.charAt(field1.value.length-1)!=">"){ field1.value = field1.value.substring(0, maxvalue1); //alert("you have exceeded the limit of "+toplimit+" characters for this item!\nYour text has been trimmed to fit, make changes and verify all paragraphs!") }else if(field1.value.charAt(field1.value.length-1)==">"){ lasttaggroup=field1.value.substring(field1.value.lastIndexOf("<"), (field1.value.lastIndexOf(">")+1)) //alert(lasttaggroup) field1.value = (field1.value.substring(0,ltposition[opencount]-1)+lasttaggroup); //alert("you have exceeded the limit of "+toplimit+" characters for this item!\nYour text has been trimmed to fit, make changes and verify all paragraphs!") } oldvalue1=field1.value.length; oldvalue2=field2.value.length; oldvalue3=field3.value.length; } else if ((field2.value.length > maxvalue2)&(toplimit!='0')&(oldvalue2 != field2.value.length)){ if(field2.value.charAt(field2.value.length-1)!=">"){ field2.value = field2.value.substring(0, maxvalue2); //alert("you have exceeded the limit of "+toplimit+" characters for this item!\nYour text has been trimmed to fit, make changes and verify all paragraphs!") }else if(field2.value.charAt(field2.value.length-1)==">"){ lasttaggroup=field2.value.substring(field2.value.lastIndexOf("<"), (field2.value.lastIndexOf(">")+1)) //alert(lasttaggroup) field2.value = (field2.value.substring(0, ltposition[opencount]-1)+lasttaggroup); } oldvalue1=field1.value.length; oldvalue2=field2.value.length; oldvalue3=field3.value.length; } else if ((field3.value.length > maxvalue3)&(toplimit!='0')&(oldvalue3 != field3.value.length)){ if(field3.value.charAt(field3.value.length-1)!=">"){ field3.value = field3.value.substring(0, maxvalue3); //alert("you have exceeded the limit of "+toplimit+" characters for this item!\nYour text has been trimmed to fit, make changes and verify all paragraphs!") }else if(field3.value.charAt(field3.value.length-1)==">"){ lasttaggroup=field3.value.substring(field3.value.lastIndexOf("<"), (field3.value.lastIndexOf(">")+1)) //alert(lasttaggroup) field3.value = (field3.value.substring(0, ltposition[opencount]-1)+lasttaggroup); } oldvalue1=field1.value.length; oldvalue2=field2.value.length; oldvalue3=field3.value.length; } else if ((field1.value.length <= maxvalue1)&(field2.value.length <= maxvalue2)&(field3.value.length <= maxvalue3)){ oldvalue1=field1.value.length; oldvalue2=field2.value.length; oldvalue3=field3.value.length; cntnum.value = toplimit - total_length;
} } // End --> </script>
<TEXTAREA NAME="textarea1" ROWS="4" COLS="48" onKeyDown="textCounterMulti(document.headermaker.remLen1,100,document.headermaker.textarea1,document.headermaker.textarea2,document.headermaker.textarea3)" onKeyUp="textCounterMulti(document.headermaker.remLen1,100,document.headermaker.textarea1,document.headermaker.textarea2,document.headermaker.textarea3)"></TEXTAREA><br><br>
<TEXTAREA NAME="textarea2" ROWS="4" COLS="48" onKeyDown="textCounterMulti(document.headermaker.remLen1,100,document.headermaker.textarea1,document.headermaker.textarea2,document.headermaker.textarea3)" onKeyUp="textCounterMulti(document.headermaker.remLen1,100,document.headermaker.textarea1,document.headermaker.textarea2,document.headermaker.textarea3)"></TEXTAREA><br><br>
<TEXTAREA NAME="textarea3" ROWS="4" COLS="48" onKeyDown="textCounterMulti(document.headermaker.remLen1,100,document.headermaker.textarea1,document.headermaker.textarea2,document.headermaker.textarea3)" onKeyUp="textCounterMulti(document.headermaker.remLen1,100,document.headermaker.textarea1,document.headermaker.textarea2,document.headermaker.textarea3)"></TEXTAREA><br> <input readonly type="text" name="remLen1" size="3" maxlength="3" value=100> characters left </form>
Jeff Harding
Kopieren Sie bitte den Code