Avatar billede agertz Nybegynder
02. juli 2010 - 12:49 Der er 11 kommentarer og
1 løsning

"Tegn-nedtælling" i tekstfelt

Hejsa. Jeg ved ikke lige, hvor jeg skal smide denne tråd, da jeg ikke konkret ved hvilket sprog det skal programmeres i.

Jeg vil have et tekstfelt hvor der skal være et maks-tilladt antal tegn. Nu programmerer jeg PHP, men det er ikke optimalt blot at fortælle brugeren hvor mange tegn personen må indtaste og så selv lade dem tælle.

Hvordan får man en "live"-nedtæller der blokerer for yderligere indtastning når maksbegrænsningen er nået?

På forhånd mange tak
Avatar billede supertekst Ekspert
02. juli 2010 - 12:54 #1
Må det være i VBA? - har et eksempel..
Avatar billede agertz Nybegynder
02. juli 2010 - 12:57 #2
Hvis det virker - og kan bruges i alle tilgængelige browsere uden at installere ekstra plugins ;)
Avatar billede supertekst Ekspert
02. juli 2010 - 13:06 #3
Eksempel:

Teksboksen "kommentar" har en max. tegn angivelse
Label "resttegn" viser resterende tegn


Udføres ved enhver ajourføring af tekstboks.

Private Sub f_kommentar_Change()
    f_resttegn.Caption = CStr(255 - Len(Me.f_kommentar))
End Sub
Avatar billede agertz Nybegynder
02. juli 2010 - 13:17 #4
Jeg har aldrig anvendt VBA - skal man bruge et starttag for at få scriptet til at køre?

Hvordan ville du sætte det op, hvis det eks stod sådan

<form>
<input type="text" name="kommentar">
</form>
Avatar billede supertekst Ekspert
02. juli 2010 - 13:23 #5
Nej - det reagerer via en event - når tekstboksen ændres.
Avatar billede agertz Nybegynder
02. juli 2010 - 13:27 #6
Jeg kan ikke få den til at fungere - hvis den er indlemmet i <? private ?> siger den Parse error: syntax error, unexpected T_PRIVATE
hvis den ikke står i php-tags bliver der bare skrevet
Private Sub f_kommentar_Change()
    f_resttegn.Caption = CStr(255 - Len(Me.f_kommentar))
End Sub  på siden
Avatar billede supertekst Ekspert
02. juli 2010 - 13:34 #7
Du må vist vente på assistance fra kyndig fra anden side - arbejder kun med VBA..
Avatar billede showsource Seniormester
02. juli 2010 - 14:06 #8
"blokering" gøres vel blot med amxlength ?

Her er lidt testet i chrome og IE 8:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html><head><title>Tegn t&aelig;ller</title>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

<script type="text/javascript">

function count_sign()
{

var max = 120;

var counttekst = document.getElementById('antal');
var fieldref = document.getElementById('kommentar');
var tekst = new String(fieldref.value);

tegnialt = tekst.length;

counttekst.removeChild(counttekst.firstChild);
var nyText = document.createTextNode(max-tegnialt+' tilbage');
counttekst.appendChild(nyText);


}


</script>

</head>
<body>


<form>

<div id="antal">120 tilbage</div>
<textarea name="besked" id="kommentar" cols="48" rows="8" maxlength="120" onkeyup="count_sign();"></textarea>

</form>


</body></html>
Avatar billede agertz Nybegynder
02. juli 2010 - 17:16 #9
Showsource - smid venligst et svar :)

Den eneste "fejl" i din kode, er at textarea ikke understøttet maxlength, men det virker fint med en almindelig input type=text :)

Mange tak! :)
Avatar billede showsource Seniormester
02. juli 2010 - 19:30 #10
Og hvilken browser er du i ? ( platform, måske ? )
( Hvis du bruger pastet kode ! )
Avatar billede showsource Seniormester
02. juli 2010 - 19:31 #11
Øh, og lige etsvar
Avatar billede agertz Nybegynder
03. juli 2010 - 15:49 #12
Firefox
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
Kurser inden for grundlæggende programmering

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