Der var lidt fejl ved mellemrum først og ingen
tegn som du selv var inde på ... denne her burde
rette lidt op på det ... håber du finder ned til
bunden her på uden at få ondt i hånden af at scrolle :D
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>
<style type="text/css">
#inpchkin{width:150px;background:#aaa;height:100px;}
#inpchkout{width:150px;border:1px solid #aaa;overflow:hidden;}
</style>
<script type="text/javascript">
var ico,ici,icoh,icow,inpc;
var icole=150; // Antal tegn
var icol=5; // Antal linjer
window.onload=function(){
ici=document.getElementById("inpchkin");
ico=document.getElementById("inpchkout");
inpc=document.getElementById("inpcount");
inpc.childNodes[0].nodeValue="Antal tegn tilbage: "+(icole-ici.value.length);
ici.onkeyup=function(){inptrans();};
ici.onchange=function(){inptrans();};
ici.onfocus=function(){this.value="";inptrans();ici.onfocus="";};
icoh=ico.clientHeight;icow=ico.clientWidth;
}
function inptrans(){
ici.onchange="";
ico.childNodes[0].nodeValue=ici.value.replace(/ /,"\u00a0");
inpc.childNodes[0].nodeValue="Antal tegn tilbage: "+(icole-ici.value.length);
if((ici.value.length==0)||(ico.offsetHeight<icoh))ico.childNodes[0].nodeValue="\u00a0";
if(ico.childNodes[0].nodeValue.length>icole){
alert("Teksten har overskrevet max længde den vil nu blive forkortet");
ici.value=ici.value.substr(0,icole);
ico.childNodes[0].nodeValue=ici.value.replace(/ /,"\u00a0");
inpc.childNodes[0].nodeValue="Antal tegn tilbage: "+(icole-ici.value.length);
}
else if((ico.clientWidth>icow)||(ico.scrollWidth>icow))alert("Boksen er blevet bredere da du har indtastet en linje uden mellemrum eller et meget langt ord - teksten i boksen vil nu blive forkortet indtil boksen holder sin bredde igen");
else if(ico.clientHeight>(icoh*icol))alert("Teksten har overskrevet max antal linjer den vil nu blive forkortet");
while((ico.clientHeight>(icoh*icol))||(ico.clientWidth>icow)||(ico.scrollWidth>icow)){
ici.value=ici.value.substr(0,ici.value.length-1);
ico.childNodes[0].nodeValue=ici.value.replace(/ /,"\u00a0");
inpc.childNodes[0].nodeValue="Antal tegn tilbage: "+(icole-ici.value.length);
}
ici.onchange=function(){inptrans();};
}
</script>
</head><body>
<form><textarea id="inpchkin" name="S1">Indtast din tekst her. Dog må den max. fylde 5 linjer i boksen, der vises nedenunder...</textarea></form><br>
<div id="inpcount">Antal tegn:</div>
<div id="inpchkout">Teksten...</div>
</body></html>