Oprettet søn. d. 07. marts 2010 kl. 00:18:36

nemlig
nemlig (4.676 point. Point ude: 75)

NedtællingsFunktion der skal virke på 2 x textarea

Jeg har ellers fået god hjælp tidligere, men kan ikke helt gennemskue det.

Jeg har 2 x textarea, som skal have hver sin tæller.
Jeg har fundet en funktion på nettet, som gerne skal virke allerede ved onload, da textarea kan have indholde ved indlæsning.
Men det virker kun på det første textarea. Jeg mangler vist nok nogle parametre.....

Funktionen ser sådan her ud:
function limitText(limitField, limitCount, limitNum) {
    if (limitField.value.length > limitNum) {
        limitField.value = limitField.value.substring(0, limitNum);
    } else {
        limitCount.value = limitNum - limitField.value.length;
    }
}

Og mit Textarea ser sådan her ud lavet i PHP:

echo "<form action='".$_SERVER['PHP_SELF']."' method='post' name='sms'>";
<textarea name='smsTekstFoer' onKeyUp=\"limitText(this.form.smsTekstFoer,this.form.countdown,160);\" cols='47' rows='4'>$row[smsTekstFoer]</textarea><br>
Du har <input readonly type='text' name='countdown' size='2' value='160'> tegn tilbage.<br>

<textarea name='smsTekstEfter' onKeyUp=\"limitText(this.form.smsTekstEfter,this.form.countdown2,160);\" cols='47' rows='4'>$row[smsTekstEfter]</textarea><br>
Du har <input readonly type='text' name='countdown2' size='2' value='160'> tegn tilbage.

Skrevet søn. d. 07. marts 2010 kl. 00:22:10| #1

Og jeg kan godt se at navnet er ændret. Men derudover ser det ikke ud til at være forskelle.

Hvilken fejl giver browseren? (I IE ses en lille gul trekant nederst til venstre ved JS fejl, og i FF under Funktioner->Fejlkonsol)

Skrevet søn. d. 07. marts 2010 kl. 00:29:45| #2

nemlig
nemlig (4.676 point)
Problemet er at jeg faktisk lige nu har 2 funktioner med hvert deres navn. Altså 1 funktion til hvert textarea. Men så virker nedtællingen kun på det 1. textarea.

Korrekt kode må være 1 x function, som kaldes med en parameter fra hvert textarea.
Jeg skal såmænd bare have nedtællingen til at virke på begge textarea.
Jeg ved bare ikke hvordan?

Skrevet søn. d. 07. marts 2010 kl. 00:38:03| #3

Jeg forstår ikke hvad du skal med to funktioner? Funktioner er jo så smarte at man giver dem parametre, hvilket du også selv gør. Du fortæller jo funktionen med parametren limitField, hvilket textarea der skal behandles. Så to funktioner er jo ren overflod.

Skrevet søn. d. 07. marts 2010 kl. 09:31:08| #4

nemlig
nemlig (4.676 point)
Helt enig.
Pointen er blot at få nedtællingen til at virke uafhængigt på hvert textarea og med kun én function.
Derfor efterlyser jeg hjælp til at få ovenstående kode til at virke.

Skrevet søn. d. 07. marts 2010 kl. 12:48:05| #5

intenz
intenz (43.900 point)
underenplov.dk
Sådan her?

<script>
function limitText(limitField, limitCount, limitNum) {
    var textarea = document.getElementById(limitField);
    var count = document.getElementById(limitCount);

    if (textarea.value.length > limitNum) {
        textarea.value = textarea.value.substring(0, limitNum);
    } else {
        count.value = limitNum - textarea.value.length;
    }
}

function onloadLimits() {
    limitText('smsTekstFoer','countdown',160);
    limitText('smsTekstEfter','countdown2',160);
}
window.onload = onloadLimits;
</script>
<form action='".$_SERVER['PHP_SELF']."' method='post' name='sms'>
<textarea name='smsTekstFoer' id='smsTekstFoer' onKeyUp="limitText('smsTekstFoer','countdown',160);" cols='47' rows='4'>knjl</textarea><br>
Du har <input readonly type='text' name='countdown' id='countdown' size='2' value='160'> tegn tilbage.<br>

<textarea name='smsTekstEfter' id='smsTekstEfter' onKeyUp="limitText('smsTekstEfter','countdown2',160);" cols='47' rows='4'>jlj</textarea><br>
Du har <input readonly type='text' name='countdown2' id='countdown2' size='2' value='160'> tegn tilbage


Jeg har lavet dine funktion om, så den bruger feltets ID i stedet. Det er lidt nemmere end 'this.form.feltets_navn' hvis du skal bruge den andre steder end i selve HTML koden.
ID'erne jeg har sat er så bare det samme som det navn du har brugt.

Skrevet søn. d. 07. marts 2010 kl. 12:51:29| #6

nemlig
nemlig (4.676 point)
Sejt - det skal jeg straks afprøve.

Skrevet søn. d. 07. marts 2010 kl. 12:57:35| #7

nemlig
nemlig (4.676 point)
Skide godt - det virker perfekt og er præcis det jeg efterlyste.
Tusind tak for hjælpen.

Skrevet søn. d. 07. marts 2010 kl. 13:01:36| #8


Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Tabindex!

Oprettet den 11. februar 2012 kl. 11.37
thomasfricke giver 30 point for svar | Giv et svar »

skal frem brugernavn ned og sige om den har eller ej

Oprettet den 11. februar 2012 kl. 02.44
tobrukDk giver 20 point for svar | Giv et svar »

Muligvis script-konfllikt i jquery. Min slider vises...

Oprettet den 9. februar 2012 kl. 23.00
Peterjakobsen giver 30 point for svar | Giv et svar »

Seneste guides

Installer win 7
Den gode bruger


   




Tips & Tricks fra PC World

Teaser billede

Her er fem sjove danske websider du skal kende

Trænger dine lattermuskler til en omgang fitness på dansk? Vi viser vej til fem websider fyldt med humor og vanvittig satire.


Anmeldelser fra PC World

Teaser billede

Test: Denne super-tablet er iPads hårdeste konkurrent

Eee Pad Transformer Prime er frygtindgydende med sin quadcore processor og evne til at trylle sig om til bærbar. Apple bør kigge i bagspejlet, for Asus' tablet-pc kommer buldrende - og gør det...


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Nu kan du snart hente Windows 8

Den nye offentlige betaversion af Windows 8 er klar i denne måned.


Nyheder fra Computerworld

Teaser billede

Måske snart slut med Androids helt store problem

Android-platformen har længe været plaget af et særligt problem. Men måske er problemet nu ved at være elimineret.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger