Avatar billede cowboy Nybegynder
27. april 2003 - 09:28 Der er 24 kommentarer og
1 løsning

Textarea - Begrænset antal bogstaver

Kan man bestemme et max antal bogstaver, man må skrive i et <textarea> felt ?
Jeg ved man kan i et <input> felt
Avatar billede pelkjaer Nybegynder
27. april 2003 - 10:23 #1
<html>
<head>
<script>
function maxChars(form) {
  if (form.t.value.length > 10) {
    alert("Max 10 tegn.");
    return false;
  } else {
    return true;
  }
}
</script>
<body>
<form onkeyup="return maxChars(this);">
<textarea name="t"></textarea>
</body>
</html>
Avatar billede pelkjaer Nybegynder
27. april 2003 - 10:25 #2
heh - mangler lige at lukke <head> i mit eks :o)
Avatar billede Slettet bruger
27. april 2003 - 10:25 #3
eller <input type="text" maxlength="10"> :)
Avatar billede pelkjaer Nybegynder
27. april 2003 - 10:28 #4
westhi>>Er du sikker på at det virker på et textarea?
Avatar billede Slettet bruger
27. april 2003 - 10:42 #5
næææææ :)
Avatar billede -master-d- Nybegynder
27. april 2003 - 10:47 #6
Så kunne man jo også lave pelkjaers eksempel om til at den også sletter alle tegn undtagen de første 10 :

ex.

<html>
<head>
<script>
function maxChars(form) {
  if (form.t.value.length > 10) {
    alert("Max 10 tegn.");
    form.t.value = form.t.value.substring(0,10)
    return false;
  } else {
    return true;
  }
}
</script>
</head>
<body>
<form onkeyup="return maxChars(this);">
<textarea name="t"></textarea>
</body>
</html>
Avatar billede -master-d- Nybegynder
27. april 2003 - 10:49 #7
Eller ganske enkelt bruge denne lille linie:

<textarea onkeyup="this.value = this.value.substring(0,10);" name="t"></textarea>
Avatar billede Slettet bruger
27. april 2003 - 10:51 #8
Det går lidt galt med de koder dér. For det første skal onkeyup stå i textarea. For det andet, hvis man returnerer false, når der er tastet over 10 tegn ind, er det også umuligt at slette nogle af disse tegn med fx backspace eller delete. Derfor er dette nok smartere:

<textarea onKeyUp="this.value = this.value.substring(0, 10);"></textarea>
Avatar billede Slettet bruger
27. april 2003 - 10:51 #9
Nå, der var jeg sgu for sendt på den. :)
Avatar billede Slettet bruger
27. april 2003 - 10:51 #10
sendt = sent
Avatar billede -master-d- Nybegynder
27. april 2003 - 10:51 #11
Men det bedste er vel at man gør sådan her :

<textarea onkeyup="this.value = this.value.substring(0,10);" onkeydown="this.value = this.value.substring(0,10);" name="t"></textarea>
Avatar billede -master-d- Nybegynder
27. april 2003 - 10:53 #12
Sådan her så kan der maks være 10 tegn og det ligner maxlength som man kender fra inputs

<textarea onkeyup="this.value = this.value.substring(0,10);" onkeydown="this.value = this.value.substring(0,9);" name="t"></textarea>
Avatar billede pelkjaer Nybegynder
27. april 2003 - 11:09 #13
Hmm ok - onkeyup i textarea istedet for på formen (selvom både ie og ns ikke fucker)

:o)
Avatar billede Slettet bruger
27. april 2003 - 11:13 #14
"og den ligner maxlentgh som man kender fra inputs"

ikke helt for når man har fyldt helt ud og skriver videre ændrer den det sidste bogstav :)
Avatar billede -master-d- Nybegynder
27. april 2003 - 11:20 #15
Ja westhi, der var jeg lidt hurtigt ude, så det er nok denne her som kommer nærmest på...

<textarea onkeyup="this.value = this.value.substring(0,10);" onkeydown="this.value = this.value.substring(0,10);" name="t"></textarea>
Avatar billede cowboy Nybegynder
27. april 2003 - 12:09 #16
Tak for en god debat. Jeg kan ikke når at afprøve det før iaften. Men i skal alle have tusind tak. Hvis i kommer frem til mere, må i meget gerne skrive det på, da jeg først lukker spg. iaften. Håber det er ok?
Avatar billede omansf Nybegynder
27. april 2003 - 16:48 #17
Indsæt følgende i et script tag:

function countChars(){
        var intCharAmount;
        var strChar = document.AddInfo.aiDescription.value;
        var intCharMax = 1000;
        document.AddInfo.CharCounter.value = intCharMax;
        intCharAmount = document.AddInfo.aiDescription.value.length;
        if (intCharAmount > intCharMax){
            alert("En Annonce må ikke indeholde mere end " + intCharMax + " tegn");
            document.AddInfo.aiDescription.value = strChar.substring(0,intCharMax);
            intCharAmount = document.AddInfo.aiDescription.value.length
        }
        document.AddInfo.CharCounter.value = intCharMax - intCharAmount;
    }


I html'en sætter du den her ind:

Beskrivelse*:
                                <textarea name="aiDescription" rows="27" cols="54" onKeyUp="countChars()" ID="Textarea1"><%=aiDescription%></textarea><br>
                                Der er <input type="text" name="CharCounter" size="3" dir="RTL" disabled ID="Text10"> tegn tilbage til vare beskrivelsen.<p>

Så skulle den være der :)
Avatar billede cowboy Nybegynder
27. april 2003 - 20:58 #18
>>>> omansf <<<<<<<
Det svar ser ikke ud til at virke
Avatar billede omansf Nybegynder
27. april 2003 - 21:02 #19
hmm du skal lige rette form navnet til. I det jeg sendte dig er det AddInfo der skal laves om til dit formnavn. Hvis du har en find/replace funktion i det udviklingsværktøj du sidder med så brug den.
Avatar billede cowboy Nybegynder
27. april 2003 - 21:02 #20
>>>> omansf <<<<<<<
Selvom eksemplet var ret fedt. Det ville være fedt hvis jeg kunne bruge det!
Avatar billede omansf Nybegynder
27. april 2003 - 21:04 #21
jeg laver lige en webside du kan hente det fra. to sek
Avatar billede omansf Nybegynder
27. april 2003 - 21:12 #22
www.comealong.dk/textarea

Der virker den så kan du også lure opsætningen af.
Avatar billede cowboy Nybegynder
27. april 2003 - 21:16 #23
ok. Tak
Er det ok at jeg omdøber "aiDescription" til "beskrivelse", hvis bare jeg gøre det alle steder, også i scriptet. Det er fordi input feltet taler sammen med en database med et felt der hedder "beskrivelse" ?
Avatar billede omansf Nybegynder
27. april 2003 - 21:21 #24
jep det gør du bare. Brug find/replace, så er du sikker på at få alt med.
Avatar billede cowboy Nybegynder
27. april 2003 - 21:25 #25
ahhhh, det er fantastisk. Det virker. Tak hjælpen alle sammen, men det bliver omansf der løber med pointsne. Hans eksempel var det bedste, syntes jeg!
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