[TextareaCounter]






characters left

Mit Hilfe dieses Scripts können Sie die Anzahl Zeichen, die in Formulare eingegeben werden können, beschränken.

[Code]

[zwischen <HEAD> und </HEAD>]

<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>

[IN den <BODY> Tag]

[zwischen <BODY> und </BODY>]
<form name='headermaker'>
<input type='hidden' name='textintags'>

<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>

[Autor]

Jeff Harding

[Download]

Kopieren Sie bitte den Code

Copyright © 1998- Nightfire Webworker Archiv Script No: 384