- Det er fordi at den laver et mellemrum for hvert mellemrum
mellemrum svarer så til istedet for " ". Test evt. denne
og skriv a med mellemrum og så a ... sammenlign med det fra start af
<!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>
<script type="text/javascript">
function checkit(elm){
a=document.createElement("span");
a.appendChild(document.createTextNode(elm.value));
document.getElementById("check").appendChild(a);
document.getElementById("check").removeChild(document.getElementById("check").firstChild);
document.getElementsByName(elm.name+"width")[0].value=a.offsetWidth+"px";
/**/
}
</script>
<style type="text/css">
#check {font:20px bold arial,sans-serif;}
</style>
</head><body>
<form method="get" action="nåja.noget">
Indtast menu tekst <input type="text" name="menunavn" onkeyup="checkit(this);" onchange="checkit(this);"><br>
Menu width: <input type="text" name="menunavnwidth">
</form>
<div id="check">a a</div>
</body></html>
... Bedste løsning vil være at konvertere " " til i asp'en.
At lave det i en tabel får det ikke til at passe bedre - det er
font family'en der spiller ind ved måling af tekstens bredde.
Du kan selvfølgelig også bruge innerHTML istedet for dom, men
hvorfor ikke give folk et mellemrum, hvis det er et mellemrum
de indtaster ?
<!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>
<script type="text/javascript">
function checkit(elm){
a=document.createElement("span");
a.appendChild(document.createTextNode(""));
a.innerHTML=elm.value;
document.getElementById("check").appendChild(a);
document.getElementsByName(elm.name+"width")[0].value=a.offsetWidth+"px";
a.parentNode.removeChild(a);
}
</script>
<style type="text/css">
#check {font:20px bold arial,sans-serif;}
</style>
</head><body>
<form method="get" action="nåja.noget">
Indtast menu tekst <input type="text" name="menunavn" onkeyup="checkit(this);" onchange="checkit(this);"><br>
Menu width: <input type="text" name="menunavnwidth">
</form>
<div id="check"></div>
</body></html>
... InnerHTML er ikke det fedeste at benytte.