Avatar billede nemlig Professor
07. marts 2010 - 00:18 Der er 7 kommentarer og
1 løsning

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.
Avatar billede kjeldsted Novice
07. marts 2010 - 00:22 #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)
Avatar billede nemlig Professor
07. marts 2010 - 00:29 #2
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?
Avatar billede kjeldsted Novice
07. marts 2010 - 00:38 #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.
Avatar billede nemlig Professor
07. marts 2010 - 09:31 #4
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.
Avatar billede intenz Novice
07. marts 2010 - 12:48 #5
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.
Avatar billede nemlig Professor
07. marts 2010 - 12:51 #6
Sejt - det skal jeg straks afprøve.
Avatar billede nemlig Professor
07. marts 2010 - 12:57 #7
Skide godt - det virker perfekt og er præcis det jeg efterlyste.
Tusind tak for hjælpen.
Avatar billede intenz Novice
07. marts 2010 - 13:01 #8
Det var så lidt :)
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