Trådstart 19 okt. 2000 08:40 #1 Kan man fixa till så att man kan skriva in tabbar i en Textarea utan att bli förflyttad till nästa fält?
toha Medlem sedan dec. 1999 707 inlägg Det går nog att fixa men man kan inte visa tabb-tecken i elementet. Om man byter ut tabbtecknen till någon kod vid ett onKeyDown-event och sedan omvandlar alla koder till tabbar vid submittandet. Men då måste man föra över värdet till en text-sträng. Typ såhär:
<textarea id="aaa" onKeyDown="return checkKeyState(this)"></textarea>
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<script>
function tabCheck(oItm) {
if (event.keyCode == 9) {
oItm.value += "{ }";
return false;
}
return true;
}
function onSubmit(oFrm) {
var sText = oFrm.aaa.value;
sText = sText.replace(/{ }/g, "\t");
}
</script>
</font>
Tack så mycket.
Det verkar lite krångligt, men det är nog för att jag inte är så hemma på JavaScript.
Hmm. toha
Det funkade inte för mig.
"checkKeyState is not defined. "
toha Medlem sedan dec. 1999 707 inlägg Fel av mig. Råkade skriva fel metodanrop. Det skall vara:
<textarea id="aaa" onKeyDown="return tabCheck(this)"></textarea>
Märk väl att din form-tagg måste ha ett onSubmit-event. Ex:
<form onSubmit="onSubmit(this)">
...
</form>
kewlt fett!
Tips! Om man lägger till focus() på textarea fältet så
slipper man använda musen.
function tabCheck(oItm) {
if (event.keyCode == 9) {
oItm.value += "{ }";
oItm.focus();
return false;
}
return true;
}
Om man vill ha texten infogad på det ställe markören befinner sig på då? Går det...?