Avatar billede connorz Nybegynder
06. november 2002 - 21:44 Der er 8 kommentarer og
1 løsning

TEXTAREA

Kan man dels få et TEXTAREA, som man kan taste tabulatorer i og kan man i givet fald bestemme længden af sådanne??
Avatar billede websmith Nybegynder
06. november 2002 - 21:54 #1
Næh ikke så vidt jeg ved, men du kan bruge en <DIV> og så sætte contenteditable="true"

På den måde kan du rent faktisk bruge det som en rich text editor, hvor du også kan bruge CTRL+B for fed tekst osv. de gængse windows taster.

Dog er det vist ikke standard, og vist også nok kun IE 5+ som understøtter det, men det er ret fedt hvad man kan lave så.

Man får så fat i den bagvedliggende html-kode ved at bruge document.getElementById("DitDivNavn").innerHTML

Du kan evt prøve at søge på DHTML og editor på msdn, så har M$ vist nok en til download, som er ret fed.
Avatar billede callesen Praktikant
06. november 2002 - 21:58 #2
Nej - tab-funktionen er forbeholdt skift mellem formfelter. Men du kan sætte en 'tab' (en såkaldt indent) på første linje:
i head:
<STYLE TYPE="text/css">
TEXTAREA {
text-indent:2em;
}
</STYLE>
Avatar billede edutasia Nybegynder
08. november 2002 - 16:17 #3
Her er et "beskidt" eksempel, der virker i MSIE 5.5 og derover. Blot for at vise, at det KAN lade sig gøre at indsætte et tabstop. Dog kan længden ikke defineres...

Kopier herfra:

<HTML>
<HEAD>
<TITLE>Tab Test</TITLE>

<SCRIPT>
function chkTab() {
    if ((event.srcElement.className == 'fakeTabStop') && (event.keyCode == 9)) {
    document.all.oArea.focus();
    var caretPos = document.selection.createRange();
    caretPos.text = '\t';
    }
}
</SCRIPT>
</HEAD>

<BODY ONLOAD="document.all.oArea.focus()" ONKEYUP="chkTab()">

<TEXTAREA COLS=50 ROWS=10 NAME="oArea"></TEXTAREA>

<DIV CLASS="fakeTabStop" TABINDEX=0 STYLE="margin-left:-100px;width:10px">&nbsp;</DIV>

</BODY>
</HTML>
Avatar billede connorz Nybegynder
18. november 2002 - 18:14 #4
Kan man så heller ikke assigne en anden tast, så den fx laver 3 mellemrum, når man trykker på den (det kunne fx være ctrl+space)?
Avatar billede connorz Nybegynder
18. november 2002 - 18:14 #5
(og undskyld den lange ventetid)
Avatar billede edutasia Nybegynder
19. november 2002 - 11:02 #6
Tjo... det tror jeg nok, at man kan. Jeg ved dog ikke lige, hvordan man checker, om to taster er trykket ned samtidigt?? Her er en udvidet udgave, hvor der indsættes tre mellemrum, hver gang der trykkes på Space. Det er i øvrigt "event.keyCode", som indeholder information om, hvilken tast, der er trykket på - så du kan bare ændre tallet 32 i nedenstående, hvis du vil have en anden tast.

function chkTab() {
    if ((event.srcElement.className == 'fakeTabStop') && (event.keyCode == 9)) {
    document.all.oArea.focus();
    var caretPos = document.selection.createRange();
    caretPos.text = '\t';
    }
    else if ((event.srcElement.name == 'oArea') && (event.keyCode == 32)) {
    document.all.oArea.focus();
    var caretPos = document.selection.createRange();
    caretPos.text = '  ';
    }
}


Hvis du vil have tab-tasten til at indsætte tre mellemrum i stedet for et tab-indryk, skal du blot udskifte linien

  caretPos.text = '\t';

med

  caretPos.text = '  ';

i det oprindelige script.
Avatar billede connorz Nybegynder
20. november 2002 - 21:17 #7
edutasia>>> lav et svar :-)
Avatar billede edutasia Nybegynder
20. november 2002 - 21:37 #8
OK :-)
Avatar billede edutasia Nybegynder
20. november 2002 - 22:59 #9
Tak for point!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester